【问题标题】:How to do time-shifting of live audio stream on Android?如何在 Android 上进行实时音频流的时移?
【发布时间】:2013-11-17 14:59:05
【问题描述】:

我正在开发一个无线电 Android 应用程序,我希望在该应用程序中可以选择快退/快进/后退以直播音频流。

Mediaplayer 似乎不可能(我找不到任何方法可以做到这一点),那我该怎么做呢?

iOS 版应用的开发者使用的是the RadioKit SDK。 Android有类似的东西吗?

【问题讨论】:

  • 我现在知道这样的 SKD 用于 android,但是是的,MediaPlayer 不支持这里回答的此功能stackoverflow.com/questions/10849961/… 我猜支持此功能的播放器使用一些第三方库和/或一些本机实现
  • 你说的是哪种流媒体协议?
  • @Droidman 我不需要修改流的速度,我只想能够快退/快进直播。
  • 当你说你不想修改流的速度,但想要 rwnd/ffwd 时,你希望能够寻找到特定的时间,对吗?即,向用户显示一个搜索栏,以便他们可视化以各种速率移动的时间,然后您可以在他们想要恢复时找到正确的点。 (这就是我所说的假戏法,虽然我不确定这是否是一个技术术语。)直接使用 HTTP 并不容易,而且我不知道类似 Android 的 RadioKit 库之类的东西。不过,如果你愿意做这项工作,这是可能的。
  • 您必须首先在设备上插入代理服务器并自己处理与远程源的通信。然后将 MediaPlayer 连接到您的代理。

标签: android android-mediaplayer audio-streaming


【解决方案1】:

我发现this link 说明了 HTTP 流在 Android 上没有得到很好支持的一些原因。您可以编写自己的 HTTP 流客户端并将其作为代理插入 MediaPlayer 和媒体源之间,但据我所知,这是唯一的方法。就技巧模式而言,HTTP 流中没有内置真正的快进或快退协议。您只需从服务器请求正确的字节(see here 了解更多信息)。好消息是,在给定音频的时间位置的情况下,估计请求的字节应该比视频更容易(我见过一些非常荒谬的视频算法)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-21
    • 2012-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    相关资源
    最近更新 更多