我试图找出微软最普遍支持的视频播放器,因为 Xamarin 似乎有两个(可能不包括 iOS 原生的那个?),而Azure 有这个
我的意图是向该播放器传递一个播放列表,并让用户添加和编辑该列表或那些列表。
我需要的一个关键 iOS 和 Android 功能是播放音乐(或仅来自视频流的音频)。我不想浪费电池电量并且想要屏幕锁定,以防我不小心撞到屏幕,我的 RSA 或 Ted Talk 会停止。
或音乐视频播放列表,但我只看音频。
我试图找出微软最普遍支持的视频播放器,因为 Xamarin 似乎有两个(可能不包括 iOS 原生的那个?),而Azure 有这个
我的意图是向该播放器传递一个播放列表,并让用户添加和编辑该列表或那些列表。
我需要的一个关键 iOS 和 Android 功能是播放音乐(或仅来自视频流的音频)。我不想浪费电池电量并且想要屏幕锁定,以防我不小心撞到屏幕,我的 RSA 或 Ted Talk 会停止。
或音乐视频播放列表,但我只看音频。
根据您的描述,您希望将播放列表传递给媒体播放器并让用户添加和编辑此列表。
我建议您可以查看Plugin.MediaManager.Forms
Xamarin.Forms。
首先,您需要确保在您的应用启动时在所有本机平台中调用 Init()。
例如,在 MainActivity.OnCreate 方法中添加以下代码。
CrossMediaManager.Current.Init(this);
其次,将包含媒体或视频的列表传递给 MediaManager,用户可以在列表中添加和编辑项目
<ContentPage
x:Class="FormsSample.mediaplayer.Page1"
xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:forms="clr-namespace:MediaManager.Forms;assembly=MediaManager.Forms">
<ContentPage.Content>
<StackLayout>
<Button
x:Name="btn1"
Clicked="btn1_Clicked"
Text="open media" />
<forms:VideoView HeightRequest="202" WidthRequest="202" />
</StackLayout>
</ContentPage.Content>
public partial class Page1 : ContentPage
{
public IList<string> Mp3UrlList => new[]{
"https://ia800806.us.archive.org/15/items/Mp3Playlist_555/AaronNeville-CrazyLove.mp3",
"https://ia800605.us.archive.org/32/items/Mp3Playlist_555/CelineDion-IfICould.mp3",
"https://ia800605.us.archive.org/32/items/Mp3Playlist_555/Daughtry-Homeacoustic.mp3",
"https://storage.googleapis.com/uamp/The_Kyoto_Connection_-_Wake_Up/01_-_Intro_-_The_Way_Of_Waking_Up_feat_Alan_Watts.mp3",
"https://aphid.fireside.fm/d/1437767933/02d84890-e58d-43eb-ab4c-26bcc8524289/d9b38b7f-5ede-4ca7-a5d6-a18d5605aba1.mp3"
};
public Page1()
{
InitializeComponent();
}
private async void btn1_Clicked(object sender, EventArgs e)
{
await CrossMediaManager.Current.Play(Mp3UrlList);
}
关于MediaManager的模式详细信息,你可以看看: