Xamarin.Formsでメディア再生する
Xamarinで動画再生やオーディオ再生をしたい場合、こちらのプラグインが良さそう。
MediaManager
ただ使い方がわかりづらくはまってしまったので、備忘録を残しておきます。
まずはプラグインを追加
NuGetで"Plugin.MediaPlayer.Forms"を追加します。
この時、PCLだけではなく、Android,iOSもお忘れなく。
動画再生画面を作成
Xaml
まずは動画を表示する画面を作成しましょう。
XamlのContentPageに下記を追加します。
XXXPage.xaml
xmlns:forms="clr-namespace:Plugin.MediaManager.Forms;assembly=Plugin.MediaManager.Forms"
動画の部分はこんな感じ。背景は黒にしておきました。
XXXPage.xaml
<forms:VideoView x:Name="videoView"
AspectMode="AspectFit"
BackgroundColor="Black"
/>
コードビハインド
XXXPage.xaml.cs
using Plugin.MediaManager;
using Plugin.MediaManager.Abstractions;
.
.
public partial class MovieAppPage : ContentPage
{
private IPlaybackController PlaybackController => CrossMediaManager.Current.PlaybackController;
protected override void OnAppearing()
{
base.OnAppearing();
videoView.Source = "https://archive.org/download/BigBuckBunny_328/BigBuckBunny_512kb.mp4";
PlaybackController.Play();
}
ネイティブの設定(これを忘れると大変)
Android
イニシャライズに
MainActivity.cs
using Plugin.MediaManager.Forms.Android;
.
.
public class MainActivity : global::Xamarin.Forms.Platform.Android.FormsAppCompatActivity
{
.
.
base.OnCreate(bundle);
VideoViewRenderer.Init(); // << 追加
global::Xamarin.Forms.Forms.Init(this, bundle);
.
.
.
}
iOS
AppDelegate.cs
using Plugin.MediaManager.Forms.iOS;
.
.
public override bool FinishedLaunching(UIApplication app, NSDictionary options)
{
global::Xamarin.Forms.Forms.Init();
LoadApplication(new App());
VideoViewRenderer.Init(); // << 追加
return base.FinishedLaunching(app, options);
}
これだけで、動画は再生されます。
動画のコントロールはまた後日。
Author And Source
この問題について(Xamarin.Formsでメディア再生する), 我々は、より多くの情報をここで見つけました https://qiita.com/yoshieya/items/f0f1c0e00ed179f7acf5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .