【问题标题】:Videos of the Sample App Not Running in the Android TV Emulator未在 Android TV 模拟器中运行的示例应用的视频
【发布时间】:2015-02-13 20:58:07
【问题描述】:

示例应用中的视频(视频的 AndroidTV Leanback 支持库示例 - https://github.com/googlesamples/androidtv-Leanback)无法在 Android TV 模拟器中播放。我在 Android_TV_1080p_API_21 模拟器上运行该应用程序。有什么问题?


编辑:我得到以下日志输出:

2247-2260/com.example.android.tvleanback E/MediaPlayer﹕ error (1, -38)
2247-2247/com.example.android.tvleanback E/MediaPlayer﹕ Error (1,-38)
2247-2247/com.example.android.tvleanback E/MediaPlayer﹕ stop called in state 0
2247-2247/com.example.android.tvleanback E/MediaPlayer﹕ error (-38, 0)
2247-2247/com.example.android.tvleanback W/MediaPlayer﹕ mediaplayer went away with unhandled events

【问题讨论】:

  • 您是否遇到任何错误?还是只是黑屏?
  • 我收到错误消息:“无法播放此视频”
  • AVD 使用什么架构? ARM还是x86?你试过改变吗?
  • 是的,我都遇到了同样的错误。

标签: android android-emulator android-studio android-tv


【解决方案1】:

方法:1 您需要使用侦听器“OnPreparedListener()”在 onPrepared 方法中调用 mediaPlayer.start()。您收到此错误是因为您在 mediaPlayer.start() 达到准备状态之前调用它。

你可以这样做:

mp.setDataSource(url); 
mp.setOnPreparedListener(this);
mp.prepareAsync();

public void onPrepared(MediaPlayer player) {
    player.start();
}

方法二: 似乎错误 -38 表示状态异常(如错误消息所示)。例如,如果您在歌曲准备好之前调用 start(),或者在调用 pause() 时,即使歌曲根本没有播放。

要解决此问题,请在调用方法之前检查 mediaPlayer 的状态。例如:

if(mediaPlayer.isPlaying()) {
    mediaPlayer.pause();
}

此外,MediaPlayer 正在发送事件消息。即使您不需要准备好的事件(尽管在触发此事件之前不开始播放是个好主意),您也必须设置一个回调侦听器。这也适用于 OnErrorListener、OnCompletionListener、OnPreparedListener 和 OnSeekCompletedListener(如果您调用 seek 方法)。

监听器可以简单地通过

mediaPlayer.setOnPreparedListener(new OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mp) {
        // Do something. For example: playButton.setEnabled(true);
    }
}); 

来源链接:-Media Player called in state 0, error (-38,0)

【讨论】:

  • 感谢您的详细解答。我还没有尝试过,会做并让你知道。我将赏金奖励给你。
  • @burakk 我有同样的问题,我无法在 android TV emulator api level 21 中播放视频,它总是显示黑屏,请你帮我解决一下。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-06
  • 1970-01-01
  • 1970-01-01
  • 2012-08-05
  • 1970-01-01
  • 2014-02-11
相关资源
最近更新 更多