c# - 使用 Xamarin MediaManager 流式传输音频

标签 c# android xamarin xamarin.android audio-streaming

我正在构建一个使用 MediaManager 的 Android Xamarin 应用程序播放音频。

播放本地 mp3 文件甚至像这样的文件:https://ia800806.us.archive.org/15/items/Mp3Playlist_555/AaronNeville-CrazyLove.mp3工作得很好。

但我无法让它从这样的链接播放流:“http://stream.radiosai.net:8002/

    private readonly IMediaManager mediaPlayer;
    public IMediaManager MediaPlayer => mediaPlayer;
    public IMediaQueue Queue => mediaPlayer.MediaQueue;
    public IMediaFile CurrentTrack => Queue.Current;
   //..
   mediaPlayer = CrossMediaManager.Current;
   //..
   Queue.Clear();
   var mediaUrls =
        new[] {                            
     "https://ia800806.us.archive.org/15/items/Mp3Playlist_555/AaronNeville-CrazyLove.mp3",
     "http://stream.radiosai.net:8002/"
   };

   foreach (var mediaUrl in mediaUrls)
   {
     Queue.Add(new MediaFile() { Type = MediaFileType.Audio, Url = mediaUrl });
   }

第一个链接有效,但第二个链接无效,我在这里缺少什么?

Ps: 完整样例可见here

最佳答案

您尝试过 Exoplayer 吗?

((MediaManagerImplementation)CrossMediaManager.Current).MediaSessionManager = new MediaSessionManager(Application.Context, typeof(ExoPlayerAudioService));
var exoPlayer = new ExoPlayerAudioImplementation(((MediaManagerImplementation)CrossMediaManager.Current).MediaSessionManager);
CrossMediaManager.Current.AudioPlayer = exoPlayer;

关于c# - 使用 Xamarin MediaManager 流式传输音频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50109194/

相关文章:

c# - 为什么 CodeContracts 静态分析器不发出警告?

c# - 找不到类型或命名空间名称 'EventHandler'

c# - 如何比较 "look alike"的 Unicode 字符?

c# - TcpListener:监听每一个地址,包括GPRS IP地址

c# - 如何编写 C# 方法来返回基于枚举参数的 Func<T> ?

java - 如何在android中按字符串值过滤json对象?

android - 甚至在 View 可见之前调用 RecyclerView onBindViewHolder

android - Android 中收到的短信的 SMS PDU 格式是什么

android - 如何创建带有部分标题的 Android ListView xamarin android?我有 17 个错误

xamarin - 将库导入 xamarin