xamarin.android播放音频,在Xamarin Android MediaManager中流式播放mp3无法正常工作

ExoPlayerAudioService的GetSource方法中存在URL转义错误,导致HTTP链接无法正确解析。原始代码将URL通过Uri.EscapeDataString进行转义,但这会导致HTTP错误。修复方案是避免对URL进行转义,直接使用原始URL来创建MediaSource。此问题主要影响音频播放服务的正常工作。
摘要由CSDN通过智能技术生成

默认情况下,使用ExoPlayerAudioService .

在ExoPlayerAudioService.GetSource方法中存在url escape问题

private IMediaSource GetSource(string url)

{

string escapedUrl = Uri.EscapeDataString(url);

var uri = Android.Net.Uri.Parse(escapedUrl);

var factory = URLUtil.IsHttpUrl(escapedUrl) || URLUtil.IsHttpsUrl(escapedUrl) ? GetHttpFactory() : new FileDataSourceFactory();

var extractorFactory = new DefaultExtractorsFactory();

return new ExtractorMediaSource(uri

, factory

, extractorFactory, null, this);

}

string escapedUrl = Uri.EscapeDataString(url);

I.E. http://example.com/path_to_audio.mp3将被转义为"http%3A%2F%2Fexample.com%2Fpath_to_audio.mp3",因为HTTP错误 .

修复只是跳过网址逃脱 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值