gpt4 book ai didi

java - Android MediaPlayer 直播音频流 : how to know if a live streaming URL can't be streamed?

转载 作者:行者123 更新时间:2023-11-29 08:51:06 24 4
gpt4 key购买 nike

我有一个应用程序可以流式传输实时音频流。

我的问题是:如何检查直播网址是否无法直播?

无法流式传输 url 的原因有多种:

  • 完全错误的 url 指向任何内容
  • 不指向音频流的 url(例如指向图像)
  • 由于音频格式与 android MediaPlayer 不兼容而无法播放的音频流的 url
  • 可能还有许多其他原因......

如果可能,我想检查 Android MediaPlayer 是否可以在不启动缓冲/准备过程的情况下流式传输 url。

我该怎么做?

谢谢!

最佳答案

检查给定远程 URL 是否有效的最快方法是执行 HTTP 请求并检查响应 header 。

但是,这只会告诉您 URL 是否有效,而不会告诉您它是否是有效的流媒体资源。

您的问题询问是否可以在不启动缓冲过程的情况下检查后者。据我所知,没有办法。

最好的办法是异步准备一个 MediaPlayer 对象(通过 prepareAsync() )并注册一个 MediaPlayer.OnErrorListener .如果您不想在完成预缓冲后播放媒体,请不要注册 setOnPreparedListener()。但是,请注意,如果流 URL 有效,则不会调用 OnErrorListener。

简单检查的最佳选择是同时注册 OnErrorListener 和 OnPreparedListener 并调用您自己的回调,具体取决于先调用两者中的哪一个。

关于java - Android MediaPlayer 直播音频流 : how to know if a live streaming URL can't be streamed?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22665246/

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