使用 MAUI 社区工具包的 MediaElement 时,无法播放存储在我的 Google Drive 上的音频文件 (.MP4)。
我正在按如下方式实现 MediaElement 功能:
在我的 XAML 中,我有以下内容:
<toolkit:MediaElement x:Name="mediaElement" Grid.Row="0" Source="{Binding MediaFile}" ShouldAutoPlay="True" /\>
MediaElement在我的xaml.cs cde中定义如下:
public partial class Level3Page : ContentPage
{
readonly Level3ViewModel _viewModel;
public static MediaElement MediaControlA { get; private set; }
public Level3Page()
{
InitializeComponent();
MediaControlA = mediaElement;
BindingContext = _viewModel = new Level3ViewModel(this);
}
}
以下是我的 ViewModel 中的 C# 代码,用于从 Google Drive 获取文件详细信息并使用 MediaElement Play 方法:
Level3Page.MediaControlA.Play()
:
request.Spaces = "drive";
request.Fields = "files(id,name)";
var result = await request.ExecuteAsync();
if (result.Files != null && result.Files.Any())
{
var folder = result.Files.First();
var fileName = "G010.mp3";
//var fileName = GlobalVars.AudioFile + ".mp3";
request = Service.Files.List();
request.Q = $"mimeType!='application/vnd.google-apps.folder' and name='{fileName}' and '{folder.Id}' in parents";
request.Fields = "files(id,name)";
result = await request.ExecuteAsync();
if (result.Files != null && result.Files.Any())
{
var FName1 = result.Files.First().Name;
MediaFile = "https://drive.google.com/file/d/" + result.Files[0].Id;
Level3Page.MediaControlA.Play();
我从 MediaElement 收到以下错误:
[0:] MediaManager:错误:错误代号:ERROR_CODE_PARSING_CONTAINER_UNSUPPORTED,错误消息:源错误
我知道
result.Files[0].Id
的值是正确的,因为当我将 MediaFile URL 内容复制并粘贴到我的网络浏览器中时,音频文件播放没有任何问题。
有人可以建议问题可能是什么吗?