Articles of android mediaplayer

Android:PrepareAsync()和Prepare()之间的媒体播放器区别

我想实现基本的媒体播放器function,并且在PrepareAsync()和Prepare()方法调用之间感到困惑。 如果音频文件位于原始文件夹中,则应使用哪一个。

在Android应用中播放YouTubevideo

在我的Android应用程序中,我希望用户点击一次图像,自动播放YouTubevideo,当video完成后,用户立即返回到应用程序。 在Android中执行此操作的最佳方法是什么? 我尝试过使用意图。 这是因为video出现在我认为是youtube的网页上。 但播放video需要另外点按。 如果可能的话,我想避免这种情况。 我尝试了整个MediaPlayer,prepareAsync,setOnPreparedListener,从来没有让它工作。 出于某种原因onPrepared从未被调用过。 没有例外被抛出。 我正在使用模拟器进行测试,我是Android新手,所以我不确定物理设备上的行为是否会有所不同。 通过使用webview获得创意,我在iOS上运行良好。 我希望它在Android上更直接。 文档确实让它听起来很直接。 干杯!

video播放提供黑屏但有声

我很难过。 我正在尝试使用媒体播放器播放video,但在播放音频时,我得到的只是一个黑色的窗口。 我已经看到有关此问题的其他post,但我没有find解决方案。 我试图听从他们的建议。 媒体播放器在播放前准备好。 在播放之前,表面支架已创建并设置为媒体播放器的显示屏。 在三星Galaxy Tab和三星Galaxy S上测试过 我正在编译API级别7。 video本身可以通过SD卡在设备的video应用程序中播放,因此它应该是兼容的。 表面视图与video的大小不同。 所以这可能是一个问题。 我需要对此做些什么还是自动伸展处理? 这是我初始化时的内容: RelativeLayout.LayoutParams lp = new RelativeLayout.LayoutParams(width, height); lp.leftMargin = x; lp.topMargin = y; mSurfaceView = new SurfaceView(mActivity); mSurfaceView.requestFocus(); mSurfaceView.setZOrderOnTop(true); mSurfaceView.getHolder().addCallback(player); mSurfaceView.getHolder().setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); mLayout.addView(mSurfaceView, lp); mMediaPlayer = new MediaPlayer(); mMediaPlayer.setDataSource(assetDescriptor.getFileDescriptor(), assetDescriptor.getStartOffset(), assetDescriptor.getLength()); mMediaPlayer.setOnErrorListener(player); mMediaPlayer.setOnPreparedListener(player); mMediaPlayer.prepare(); 这是我的回调: public void onPrepared(MediaPlayer mp) { mMediaPlayer.start(); } […]

从Android上的IP摄像头接收video流

我有一台IP摄像机,它是MJPEG格式的流媒体video。 现在我的目标是接收它并在我自己的自定义Android应用程序中显示它。 为此我在android平台上有三个编程选择: 使用内置的Anrdroid MediaPlayer类 在本机C中使用FFMPEG库并通过JNI访问它 在android上使用GStreamer端口接收流 那么请建议更好的解决方案? 我没有使用FFMPEG或GStreamer的经验。 那么这样做的可行性是什么?

Android – QCMediaPlayer媒体播放器不存在 – 根本无法播放声音

我正在尝试使用以下代码播放来自Url的音频: String url = “1451739079.mp3”; MediaPlayer player = new MediaPlayer(); player.setAudioStreamType(AudioManager.STREAM_MUSIC); try { player.setDataSource(url); }catch (IOException e){ e.printStackTrace(); } player.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { @Override public void onPrepared(MediaPlayer mp) { mp.start(); } }); 但这根本不起作用,在logcat中显示错误: E/MediaPlayer-JNI: QCMediaPlayer mediaplayer NOT present 我已经访问了这篇SOpost ,但没有任何帮助。 请建议如何播放来自Url的音频?

Android播放器继续回调,缓冲

我正在使用MediaPlayer在我的应用程序中播放来自在线mp3文件的声音。 但是,即使在播放完成后,我也会在控制台中获得回调和缓冲的行和行。 10-24 08:08:48.467 19221-19233/com.myapp V/MediaPlayer﹕ callback application 10-24 08:08:48.467 19221-19233/com.myapp V/MediaPlayer﹕ back from callback 10-24 08:08:49.468 19221-19232/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0 10-24 08:08:49.468 19221-19232/com.myapp V/MediaPlayer﹕ buffering 100 10-24 08:08:49.468 19221-19232/com.myapp V/MediaPlayer﹕ callback application 10-24 08:08:49.468 19221-19232/com.myapp V/MediaPlayer﹕ back from callback 10-24 08:08:50.469 19221-19233/com.myapp V/MediaPlayer﹕ message received msg=3, ext1=100, ext2=0 10-24 08:08:50.469 19221-19233/com.myapp […]

Android – 从mp3流中读取ID3标签

我正在使用MediaPlayer播放mp3文件 mp.setDataSource(myContext, Uri.parse(“http://my_song.mp3”)); mp.prepareAsync(); mp.setOnPreparedListener(mpOnPreparedListener); mp.setOnBufferingUpdateListener(mpOnBufferingUpdateListener); 有关如何使用Android API或任何替代方法从此流读取ID3标签的任何想法?

Android:在活动屏幕方向更新期间保持MediaPlayer运行

我使用MediaPlayer播放MP3。 目前我通过使用禁用屏幕方向更改 android:screenOrientation=”portrait” android:configChanges=”keyboardHidden|orientation” 在清单中。 我现在想要支持横向模式 – 即删除那些标签 – 但是存在的问题是在销毁/创建周期期间玩家停止然后重新启动。 这没关系,我甚至在onPause()手动执行此操作,以便在活动进入后台时停止播放器。 为了让它在方向更改期间保持运行,我尝试将其设置为静态(并使用应用程序上下文创建一次)。 当然,当我现在删除onPause()中的player.stop()时,它会做我想要的 – 好吧, 直到 Activity进入后台。 那么,有两个问题: 如何在调用onStop()之后确定是否将直接重新创建活动 或者:如何在该周期内保持MediaPlayer运行,但在应用程序进入后台时停止它?

Exoplayer播放m3u8文件Android

在尝试使用videoview和mediaplayer播放m3u8文件的多种方法后,我决定放弃。 每当我播放m3u8文件时,我只能听到声音。(请不要写堆栈溢出的url回答我的问题。我已经全部红了)一直在四处询问,最后知道exoplayer可能是我正在寻找的那个。 然而exoplayer似乎是一个新手,我找不到任何适当的教程 。 有人说我自己是一个新手,关于跟踪器和blabla的所有谈话对我来说都太复杂了。 我只希望能够在我的应用程序中打开来自不同url的所有m3u8文件, 而不会将它们传递给vlc或任何外部意图。 为了记录,我使用KitKat及以上。 因此exoplayer应该是可实现的。 所以我绝望地要求的是一个简单的教程,我可以使用exoplayer或任何其他方式播放我的m3u8文件 ,以显示video和播放音频,而不仅仅是其中之一。 请不要将我链接到google dev上的exoplayer页面。 我也去过那儿。 提前致谢 :)

暂停时更新MediaPlayer开始位置

我正在播放实时音频并希望具有暂停媒体播放器的function,然后从当前的实时位置开始。 默认的Pause()和Start()只是从停止的位置开始。 关于如何保持当前位置的任何想法,以便Start()是即时的?