ios - Xamarin 社区工具包 MediaElement 不播放流中的视频
问题描述
我有一个 .ashx 处理程序文件,用于从我的网站流式传输文件。我传递一个文件 ID,处理程序获取文件,设置内容类型并将其流式传输。
这适用于我在 iOS 应用程序中显示的所有文件。
我在使用 MediaElement 时遇到问题,当我将源设置为处理程序的 url 时,它不会播放视频。
如果我将它设置为我网站上的 .mov 文件,它可以正常工作。
source = "https://mobile.mysite.com/BuildingPatrol/GetAttachment.ashx/?AttachmentId=12345" 不起作用
source = "https://mobile.mysite.com/BuildingPatrol/Test.MOV" 工作正常
如果我将处理程序文件的链接直接放在浏览器中,它会将 12345.MOV 文件下载到下载文件夹,并且 .mov 文件可以正常播放。
var MediaElement = new Xamarin.CommunityToolkit.UI.Views.MediaElement()
{
//Source = "https://mobile.mysite.com/BuildingPatrol/GetAttachment.ashx/?AttachmentId=" + Attachment.AttachmentId.ToString(),
Source = "https://mobile.mysite.com/BuildingPatrol/Test.MOV",
ShowsPlaybackControls = true,
IsLooping = true,
AutoPlay = true,
HeightRequest = 200,
HorizontalOptions = LayoutOptions.FillAndExpand,
};
解决方案
推荐阅读
- css - 如何将绝对 div(内部包含一些内容)拉伸到其父 div?
- c++ - 避免警告:对“计数”的操作可能未定义 [-Wsequence-point]
- pyspark - spark:使用多个分隔符读取 csv
- javascript - 将 CSS 动态应用到 JSX 对象
- python-3.x - 如何让滑块更改椭圆的 y 位置而不是其半径
- apache - Apache重定向覆盖不一致
- javascript - 运行 ng build --prod 时,类型“{}”上不存在属性“title”,但可以与 ng serve 一起使用
- python - 编写一个对文件中一行中的字符串进行计数的程序时遇到问题
- angular - 我们应该在哪里取消订阅 Angular 的 SwUpdate.available?
- javascript - 过滤不区分大小写