c# - 如何在 Android.Media.Mediaplayer 中播放 webm?(错误(1,-2147483648))
问题描述
我想在我的 Xamarin Android 应用程序中流式传输 webm (opus) 音频,但我通过准备播放器不断收到 UNKNOWN_ERROR。我的代码如下所示:
public class AndroidAudioPlayerHelper : AudioPlayerHelper {
private readonly Media Player player;
public AndroidAudioPlayerHelper() => player = new MediaPlayer();
private void PlayNew() {
player.Prepared += (sender, e) => {
player.Start();
};
player.PrepareAsync();
}
public override void PlayStream(string url) {
player.SetDataSource(url);
PlayNew();
}
}
我的网址看起来像http://localhost:9001/api/v1/song/stream/00000000000000000000000000000000
。当我指向 mp3 文件或使用我的 UWP-App 时,一切正常。
我已经尝试设置 AudioAttributes 但它也不起作用。
解决方案
如果您使用的是较新版本的 Android,则您的资源必须是https
资源,或者在清单中允许不安全的连接。
尝试在您的 AndroidManifest.xml 文件中添加:android:usesCleartextTraffic="true"
到您的Application
节点。
当您拥有正确配置的服务器时,最好对发布版本禁用此功能。
推荐阅读
- agda - 为什么在这种情况下使用 `rewriting` 时需要使用 `sym`?
- java - Spring mvc 抛出异常 - IllegalStateException:在 jsp 页面中使用表单 tld 时,既不是 BindingResult 也不是 bean 的普通目标对象
- python - 如何使用 python 修改多个 woocommerce 产品
- c - 更改我传递给函数的数组而不用 C 中的 Return
- python - 我的聊天消费者没有使用 django-channels?
- asp.net - 如何使用 DocumentFormat.OpenXML 库和 AltChunk 类 c# 将图片插入到文字处理文档中
- c++ - 如果 xh 仅包含函数声明,为什么必须在 x.cpp 中包含 xh
- excel - 将包含月度数据列的表格转换为单行月度数据
- reactjs - 状态更新后组件不重新渲染
- macos - MacOS 上 canonical/libco 的编译和链接问题 - “架构的未定义符号”