gpt4 book ai didi

java - Android - 甚至在 Android 4.0+ 上准备流之前调用 MediaPlayer 的 Prepare

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:05:52 25 4
gpt4 key购买 nike

我面临的问题是,每当我的应用程序在 Android 4.0+ 上播放流时,即使在加载流之前,也会调用 MediaPlayer.OnPreparedListener 中的 OnPrepare 方法因此我无法向用户表明流下载/缓冲正在进行中。 I have already found a question of the same kind but not answered 这是我正在做的事情。

   @Override
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
playVideo(someRtspUrl);
}
private void playVideo(String url) {
// if app is running on Google TV then change RTSP link to HLS
if (url.contains("rtsp")) {

// split the RTSP URL and make it as HLS
String videoUrlParts[] = url.split("\\?");
url = videoUrlParts[0].replace("rtsp", "http") + "/playlist.m3u8";

if (videoUrlParts.length > 1)
url += "?" + videoUrlParts[1];
} mVideoView.setVideoURI(Uri.parse(url));
mVideoView.requestFocus();
mVideoView.setOnCompletionListener(this);
mVideoView.setOnPreparedListener(this);

}



@Override
public void onPrepared(MediaPlayer player) {
dismissProgressDialog();
mVideoView.start();
}

此代码在 Google TV 和其他 Android 3.0+ 和 <4.0+ 设备上运行良好

最佳答案

我对媒体播放器没有太多经验。但是我这边的一些建议/疑问

  1. 没有电话准备。如果您正在这样做,您是否尝试过 prepareAsync ?
  2. 您没有使用传递给 onPrepared 回调的媒体播放器实例。您可能会尝试启动错误的媒体播放器。

关于java - Android - 甚至在 Android 4.0+ 上准备流之前调用 MediaPlayer 的 Prepare,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17782376/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com