【问题标题】:Any clues about MediaPlayer Info/Warning 950?有关 MediaPlayer 信息/警告 950 的任何线索?
【发布时间】:2015-09-15 12:24:23
【问题描述】:

我一直在通过VideoView 播放一些mp4 视频,它显然使用/是MediaPlayer 的包装器。

像往常一样,我在 logcat 中看到了典型的:

I/MediaPlayer﹕ Info (701,0)
I/MediaPlayer﹕ Info (702,0)

但是我也看到了那个:

I/MediaPlayer﹕ Info (950,0)

正如in this answer 和其他问题所述,大多数9XX MediaPlayer 信息/警告/错误代码aren't officially documented in the SDK docs,但可能与“定时文本轨道”(字幕)有关,因为对9XX 的唯一引用是MEDIA_INFO_UNSUPPORTED_SUBTITLE (901)MEDIA_INFO_SUBTITLE_TIMED_OUT (902)

问题是,我在播放视频时不使用任何字幕或外部/额外资源,所以这很奇怪。

有人知道有关9509XX 代码的任何其他信息吗?

(我正在尝试跟踪一个 可能 与此相关的错误,因为这是我在 logcat 中获得的最后信息 - 只是探索所有可能性。)

【问题讨论】:

    标签: android android-mediaplayer android-4.2-jelly-bean


    【解决方案1】:

    我面临同样的警告,但情况不同。在以下代码中,在 onCompletion 之后重置媒体播放器会生成此警告。之后,我的轨道出现问题并尝试重新启动它。

    soundMediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
                        @Override
                        public void onCompletion(MediaPlayer mediaPlayer) {
                            mediaPlayer.reset();
                    mediaPlayer = MediaPlayer.create(MainActivity.this, soundUri);
                    mediaPlayer.start();
                        }
                    });
    

    希望它能给你一个线索。

    【讨论】:

    • 谢谢你,肯定是一个额外的信息来帮助。如果我发现任何与此相关的内容,我会在这里发布。
    • 核心问题在于使用:MediaPlayer.create(activity, uri);
    • 此方法消耗音频服务,虽然它会立即返回,但需要时间才能完成。我通过将创建代码移动到另一个在自己的线程(不是主 UI 线程)上工作的单例类来解决我的问题,给它后台优先级,故意添加 Thread.sleep(500);如果您的问题出在此,我将非常乐意与代码分享详细信息。
    • 谢谢,暂时我会尝试在其他线程中创建/播放以查看效果,尽管我想我已经在这样做了。
    • 如果您正在寻找可靠性,这是我使用的机制: 1- 保留我需要的播放器列表 Hashmap 2- 如果媒体播放器发生错误,重置,删除from list, release 3- 当通过列表调用播放器但未找到时,运行 createPlayeThread 更有趣的是,服务死亡“W/IMediaDeathNotifier:媒体服务器死亡”后跟“E/MediaPlayer:错误(100 , 0)" 适用于我所有的玩家。期待阅读您如何解决这个问题:-D
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-03
    • 2022-10-15
    • 1970-01-01
    • 1970-01-01
    • 2018-09-27
    • 2010-11-19
    • 1970-01-01
    相关资源
    最近更新 更多