我在Android中遇到一个问题,我认为我需要保留对MediaPlayer对象的某种引用。在我的Activity中,我首先实例化MediaPlayer对象,然后我可以开始播放选定的音乐。问题在于屏幕旋转时,Activity被销毁,再次创建,然后我失去了对MediaPlayer的引用(因为我无处保存它)。创建了一个新对象,下次用户与手机交互时,音乐停止播放。掌握它的正确方法是什么?我可以做?它不是可序列化的,所以我不能将它放在onSaveInstanceState(Bundle)中。感谢您的帮助。 最佳答案 我会尝试将MediaPla
我正在尝试从URL流式传输音频。该代码适用于其他URL,但其中一个URL在OnPrepared方法中失败,返回此错误代码:(1,-2147483648)。我看过一些人说这是因为权限,但它是一个远程文件,所以我无法设置权限。我已经尝试将URL与VLC和iTunes等其他应用程序一起使用,并且工作正常。我的代码在这里:privatevoidprepareradio(){player=newMediaPlayer();player.setAudioStreamType(MODE_WORLD_READABLE);try{player.setDataSource(url);}catch(Ille
我正在尝试制作一个应用程序,它在预定的时间使用MediaPlayer播放一系列声音。为了正确处理唤醒锁并安排播放,我使用了CommonsWare'sWakefulIntentService.不幸的是,IntentService的工作线程在我调用MediaPlayer.play()后立即退出,并且MediaPlayer注册的监听器都没有被调用。相反,会记录异常:W/MessageQueue(6727):Handler(android.media.MediaPlayer$EventHandler){4160d820}sendingmessagetoaHandleronadeadthread
默认情况下,当通过渐进式下载“流式传输”时,我需要知道MediaPlayer在何处/如何缓存音频/视频内容。我们正在评估Android媒体播放器应用的选项。关注的一项是防止内容被复制(在可能的范围内)。渐进式下载有很多好处,但我们需要确保我们正在采取合理的步骤来保护媒体。我一定是在错误的地方进行了错误的搜索,因为我一直无法找到这方面的任何细节。我已经搜索了我们测试设备的文件系统,试图从我们的测试渐进式下载应用程序中找到任何缓存文件-但无济于事(这对我们的目的来说可能是好的)。 最佳答案 在Android中,MediaPlayer是抽
我为我的应用程序发出了简单的警报声。但问题是声音在某些设备上播放,而在另一些设备上则没有。示例代码如下:publicvoidaudioPlayer(){//leshontingullkurkakolision//Armando8/7/2013MediaPlayerbeep_alert=MediaPlayer.create(Maps.this,R.raw.double_beep);try{beep_alert.start();}catch(Exceptione){e.printStackTrace();}}没有显示错误,它只是不播放例如nexus4,但它在nexus7中播放正常。出了什么
我在Fragment中使用MediaPlayer,每当当前Fragment发生变化时,我都设法停止播放音乐。但问题是,如果我在fragment中,然后按下后退按钮关闭应用程序,音乐会继续播放。我的代码如下:@OverridepublicvoidsetUserVisibleHint(booleanisVisibleToUser){super.setUserVisibleHint(isVisibleToUser);If(this.isVisible()){If(!isVisibleToUser){sound.stop();}else{sound.start();}}}sound=Media
我正在开发一个播放一些声音的Android应用程序。为此,我正在创建一个MediaPlayer对象。下面是代码:mp=MediaPlayer.create(this,R.raw.testSound);此处mp对于Android2.3.3(API级别10)为null,我尝试使用其他版本的Android(2.1、2.2等)它工作正常。但是,对于Android2.3.3(API级别10),MediaPlayer.create()调用返回null。声音文件(testSound.wav)是一个wav文件。我尝试解析wav文件以查看它是否已损坏。好像就好了。另外,我可以使用WindowsMedia
这是一个简单的钢琴应用程序,它可以工作,但有一个问题。单击大约20次(有时正好是28次)后,即使我单击按钮也不会播放任何声音。该应用程序不会崩溃或不会警告我任何事情。没什么。没有声音。你有什么想法吗?packagecom.example.playaudio;importandroid.app.Activity;importandroid.media.AudioManager;importandroid.media.MediaPlayer;importandroid.os.Bundle;importandroid.view.Menu;importandroid.view.View;imp
我想在我的安卓设备上播放html5的YouTube视频。我还想添加一些css并更改为媒体控制。我怎样才能做到这一点?有什么好的起点或一些示例应用程序吗? 最佳答案 您可能需要考虑尝试使用YouTubeEmbeddedAPI在Android内部WebView.基本上你会创建一个Activity包含WebView加载包含youtube的HTML文件.YouTubeEmbeddedAPI不允许完全自定义,但有一些参数可用于更改颜色和控件样式。 关于android-html5mediaplaye
我创建了一个应用程序来录制音频,将样本保存到SD卡,然后使用录制和播放按钮进行播放。我需要反转这个样本。我可以做所有这些,并且反转样本以不同的名称保存在SD卡上。原始样本是test.wav,同样的样本反转保存为revFile.wav。当我尝试播放revFile.wav时,android说它无法播放这种格式。我已经将样本随意地放入一个数组中,然后反转内容,有些东西告诉我样本的开头可能有标题信息,需要首先进行strip化,任何想法。谢谢。这是我目前所拥有的。publicclassrecorderextendsActivity{MediaRecordermyRecorder=null;Dat