Articles of android mediaplayer

Android ExoPlayer通过HTTPstream式传输mp3

我想了解今年在Google I / O 2014上推出的新的ExoPlayer库 ,以便我可以将它合并到我的应用程序中。 我试图通过HTTPstream式传输一个mp3,但到目前为止一直没有成功。 我不知道是否有可能,但我试图做到这一点,而不扩展任何基本的源/示例类。 我的代码如下: 在我的活动 SampleSource s = new FrameworkSampleSource(this, Uri.parse("http://traffic.libsyn.com/joeroganexp/p518.mp3"), null, 1); // Since I only have 1 audio renderer ExoPlayer player = ExoPlayer.Factory.newInstance(1); MediaCodecAudioTrackRenderer audioRenderer = new MediaCodecAudioTrackRenderer(s); player.prepare(audioRenderer); player.setPlayWhenReady(true); logcat的 3363-3376/com.kevintcoughlin.smodr V/FFmpegExtractor﹕ SniffFFMPEG 07-06 15:52:34.080 3363-3376/com.kevintcoughlin.smodr I/FFmpegExtractor﹕ android-source:0xb7c53e00 07-06 15:52:34.084 3363-3376/com.kevintcoughlin.smodr D/FFMPEG﹕ android source begin open 07-06 […]

如何使用MediaPlayer在列表视图中播放多个video?

我试图实现与video列表视图,因为它的元素。 我正在使用此项目在纹理视图上显示video。 它在下面使用MediaPlayer。 当在同一时间加载两个video时,它(大部分时间)失败。 我得到的错误是: TextureVideoView error. File or network related operation errors. MediaPlayer: error (1, -2147479551) 这也是从磁盘加载文件时发生的 在error handling部分,我尝试重置URL。 然后,我大部分得到 E/BufferQueueProducer: [unnamed-30578-12] disconnect(P): connected to another API (cur=0 req=3) 错误。 我不清楚的是,从networking设置一些任意video将工作,但重试相同的URL将失败。 所以在OnErrorListener中: textureView.setVideo(item.getUriMp4(),MediaFensterPlayerController.DEFAULT_VIDEO_START); 将失败,但是: textureView.setVideo("http://different.video" … ) 将工作得很好。 这对于特定文件也不是问题,因为滚动不同的video文件将失败。 有时那些失败的人下次还会工作 我也试过MediaCodec和MediaExtractor组合,而不是MediaPlayer方法,但我碰到,看起来像什么, 设备特定的平台错误 任何提示? 有什么build议么? 谢谢 W上。

同步来自Mediacodec的解码audio和video数据

我想用MediaExtractor和MediaCodec API编写一个简单的audio/video播放器。 我能够解码和渲染audio和video 。 但是,我错过了audio – video同步。 我无法find任何API来控制audio和video之间的同步。 有人可以告诉我,如何同步解码的audio和video数据?

多个MediaPlayers不能在Nexus 5上工作

我正在构build一个应用程序,使用两个媒体播放器同时播放两个audio文件。 这在我的三星Galaxy S3设备上正常工作,但是当我在Nexus 5上运行它时,audio变成碎片/不可听。 我想知道使用两个媒体播放器同时在Nexus 5上是可能的,如果不是,我怎么能同时播放两个audio文件?

在Android中parsing和播放.pls文件

任何人都可以帮助我如何parsing和播放这个在Android的.pls文件 NumberOfEntries=1 File1=http://stream.radiosai.net:8002/

在通话过程中是否可以播放音乐,以便伴侣可以听到? Android的

我正在尝试使应用程序像Call Cheater (最初为Symbian OS开发) 在接听者和来电者应该听到相同的声音或音乐的电话交谈中是否可以播放音乐? 如果是的话我怎么能实现呢?

如何正确停止媒体播放器,android

点击歌曲的列表,我可以用MedaiPlayer播放歌曲。 当一首歌曲正在播放,如果用户点击另一首歌曲,然后我停止媒体播放器,并再次启动播放器。 但是我在reset()中得到非法的状态。 这里是我得到例外的代码。 如何正确地阻止玩家? 也为什么我得到这个例外。 如何避免它? public void stopPlayer() { try { if (player != null) { // Log.e("Trying to Stop "," Player "); player.stop(); player.release(); player.reset();// causes IllegalstateException player = null; } } catch (Exception e) { player = null; playerStatus = false; e.printStackTrace(); } }

Android:从应用程序类开始新的活动

我有一个Android应用程序,播放来自应用程序类的audio。 在我的应用程序类中有一个PhoneStateListener,在有电话时暂停audio。 通话结束时,我想开始一个特定的活动,但我无法。 这里是我的代码: public void getPhoneState(){ TelephonyManager mgr = (TelephonyManager) getSystemService(TELEPHONY_SERVICE); PhoneStateListener phoneStateListener = new PhoneStateListener() { @Override public void onCallStateChanged(int state, String incomingNumber) { if (state == TelephonyManager.CALL_STATE_RINGING) { if(audio.isPlaying()) audioPlayer.pause(); } else if(state == TelephonyManager.CALL_STATE_IDLE) { audio.start(); Intent missintent= new Intent(context,AudioActivity.class); missintent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(missintent); } else if(state == TelephonyManager.CALL_STATE_OFFHOOK) { if(audio.isPlaying()) audioPlayer.pause(); } […]

一旦audio完成播放,通知

那么我试图实现录音的基本function,如 录制,播放/暂停,停止 我能够做到所有这些,但唯一的问题是我怎样才能得到通知,一旦audio完成播放。 我的意思是如果我播放一个audio文件,那么一旦它完成播放我想要一个通知,现在停止。 到目前为止,我用过 mPlayer.start() // to start the audio mPlayer.stop(); // to stop the audio mPlayer.pause(); //to pause the audio 我只是想知道如何才能知道audio文件自动完成播放

Mediaplayer错误(-38,0),停止在状态4调用

结果是,前两首歌曲播放的很好,但是其他歌曲却没有播放,并且没有播放任何东西而到达最后一首歌曲! 播放stream的代码(它的工作原理): private void PlayStream(String url) { try { mediaPlayer.setDataSource(url); } catch (IllegalArgumentException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (SecurityException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IllegalStateException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } […]