android - 如何在 MediaPlayer 上设置代理

标签 android proxy streaming media-player

在我的音乐流程序中,如何在 android.media.MediaPlayer 类上设置代理以通过代理网络流式传输链接文件?我了解 HttpClientURLConnection 中的 NTCreditional、UsernamePasswordCreditional、Proxy-Authorization header 等。但我无法在 android.media.MediaPlayer 上设置代理,我该怎么办?

感谢您的提前:)

最佳答案

不幸的是,MediaPlayer API 目前没有提供现成的代理设置方法。

我该怎么做?

有一个可能的解决方法,但很脏:

  1. 使用您熟悉的任何技术(socket、httpClient 等)从 RemoteUrl http://remotehost:80/music 下载媒体内容,并在此处正确处理代理身份验证。
  2. 在本地(在您的移动设备上)打开一个套接字,并将下载的数据写入该套接字的 OutputStream,我们真正想要的是将下载的内容重新发布到 localUrl http://localhost:8081/music 在我们的移动设备上运行。
  3. 将此 localUrl 提供给您的 MediaPlayer:mediaPlayer.setDataSource(localURL); 而不是 mediaPlayer.setDataSource(remoteURL);

相关 Material :

希望这是有道理的。

关于android - 如何在 MediaPlayer 上设置代理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10627278/

相关文章:

java - 如何将 Glassfish 设置为通过代理服务器?

Android:使用 ParcelFileDescriptor 通过套接字使用 Mediarecorder 进行视频流传输

java - Android:如何将区域设置设置为 zh_HK android

Android 4.2.1 错误字符kerning(间距)

android - 您是此应用的 Beta 测试员,未出现在 Google Play 商店中

proxy - OpenFire/XMPP 503 服务不可用错误(使用 iOS XMPPFramework 的 XEP-0065)

java - Hibernate 从同一个请求返回同一个实体,但在一种情况下它被代理,而在第二种情况下它不是。为什么?

c# - 如何在 .NET 2.0 (c#/vb.net) 中播放来自不同服务器的 mp3 文件?

apache-spark - Spark 流可视化

android - 未检测到 list ,我想显示 'Add To Home Screen' 按钮