Ich habe eine Liste von YouTube-Videos und ich möchte Videos auf Media Player von nativen Handy.I ich bin in der Lage, Web-Browser und Youtube-App aufzurufen, kann aber Standard-Mediaplayer von Android/aufrufen IOS-Telefon.wie Media Player in Xamarin Formen
Antwort
Dies ist die gesamte Implementierung, die zur Implementierung von Media Player in meiner Xamarin App, die MVVM-Unterstützung hat.
Zunächst einmal müssen Sie das Plugin Media Manager (Nuget oder GitHub) zu drei Ihrer Projekte (Portable, Droid und iOS) hinzuzufügen. Dafür müssen Sie mit der rechten Maustaste auf Ihr Projekt, und klicken Sie auf die Option NuGet Pakete verwalten und für Plugins
Plugin.MediaManager Plugin.MediaManager.Forms installieren diese beiden Plugins suchen.
Dann müssen Sie VideoView initialisieren, also fügen Sie diesen Code zu Ihrer MainActivity-Datei von Droid in onCreate hinzu.
Geschützte Überschreibung void OnCreate (Bündelbündel) { TabLayoutResource = Resource.Layout.Tabbar; ToolbarResource = Ressource.Layout.Toolbar;
base.OnCreate(bundle); VideoViewRenderer.Init(); global::Xamarin.Forms.Forms.Init(this, bundle); FileAccessHelper.CopyDatabaseIfNotExists("BizQuiz"); LoadApplication(new App()); }
Jetzt eine Ansicht wie diese machen.
Dies ist meine XAML-Datei: MediaPlayer.xaml
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://xamarin.com/schemas/2014/forms"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="Add your class name here"
xmlns:local="clr-namespace:MediaForms"
xmlns:forms="clr-
namespace:Plugin.MediaManager.Forms;assembly=Plugin.MediaManager.Forms"
BackgroundColor="Aqua">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="4*"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<forms:VideoView Grid.Row="0" Grid.RowSpan="1"
HorizontalOptions="FillAndExpand" VerticalOptions="FillAndExpand"
Source="http://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4"
AspectMode="AspectFill"/>
<Grid HorizontalOptions="FillAndExpand" Grid.Row="1" Grid.RowSpan="1"
Margin="20">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="6*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition/>
<ColumnDefinition/>
</Grid.ColumnDefinitions>
<StackLayout Grid.Row="0" Grid.ColumnSpan="3"
Orientation="Vertical">
<StackLayout Orientation="Horizontal">
<Label Text="Duration: "></Label>
<Label x:Name="Duration"/>
</StackLayout>
<ProgressBar x:Name="ProgressBar" Grid.ColumnSpan="3"
HorizontalOptions="FillAndExpand"></ProgressBar>
</StackLayout>
<Button Grid.Row="1" Grid.Column="0" TextColor="White"
BackgroundColor="Gray" HeightRequest="50" VerticalOptions="Center"
Text="Play" WidthRequest="100" Clicked="PlayClicked"></Button>
<Button Grid.Row="1" Grid.Column="1" TextColor="White" Text="Pause"
BackgroundColor="Gray" HeightRequest="50" VerticalOptions="Center"
WidthRequest="100" Clicked="PauseClicked"></Button>
<Button Grid.Row="1" Grid.Column="2" TextColor="White" Text="Stop"
BackgroundColor="Gray" HeightRequest="50" VerticalOptions="Center"
WidthRequest="100" Clicked="StopClicked"></Button>
</Grid>
</Grid>
</ContentPage>`
Und das ist mein xaml.cs
MediaPLayer.xaml.cs
public partial class MediaPlayer : ContentPage
{
private IPlaybackController PlaybackController =>
CrossMediaManager.Current.PlaybackController;
public MediaPlayer()
{
InitializeComponent();
CrossMediaManager.Current.PlayingChanged += (sender, e) =>
{
ProgressBar.Progress = e.Progress;
Duration.Text = "" + e.Duration.TotalSeconds.ToString() + "
seconds";
};
}
void PlayClicked(object sender, System.EventArgs e)
{
PlaybackController.Play();
}
void PauseClicked(object sender, System.EventArgs e)
{
PlaybackController.Pause();
}
void StopClicked(object sender, System.EventArgs e)
{
PlaybackController.Stop();
}
}
Datei, die alle ist, können Sie spielen das Video von URL so.
- 1. Xamarin Formen Video Player (MediaManager Plugin)
- 2. Xamarin Formen Xamarin Android
- 3. Media Player als Webservice
- 4. Android Media Player Threading
- 5. Soundpool oder Media Player?
- 6. WKWebView Media Player Vollbilderkennung
- 7. Media Player Controls
- 8. Fenster Media PLayer in C#
- 9. konnte nicht media player
- 10. Media Player-Steuerelemente in Notification
- 11. kein Video-Media-Player
- 12. App.AppName in Xamarin Formen
- 13. Free Flash Media Player
- 14. Silverlight Media Player
- 15. Synchron-Media-Player javafx
- 16. java.lang.IllegalStateException für Media Player
- 17. Erweitern Android Media Player
- 18. Wie mit Windows Media Player in C#
- 19. Wie erstelle ich Media Player in vb.net?
- 20. Wie Audio-Datei in Media-Player
- 21. Wie überlappen sich Xamarin-Formen?
- 22. Yahoo Media Player - ohne Videos?
- 23. Interagieren mit "systemweit" Media Player
- 24. Android: Media Player Warnung (1,44)
- 25. Android Media Player effektiv wiederverwenden
- 26. Toggle-Taste sharedpreferences Media Player
- 27. Android: Media Player Dauer Ausgabe
- 28. Android - View Over Media Player
- 29. Android Media Player: unbekanntes Problem
- 30. Android Media Player Datei Ort
Das hat mir viel Zeit gespart –
Welche Assembly muss ich hinzufügen, um VideoViewRenderer.Init() zu verwenden? Es macht mich verrückt – afe
Wie bereits erwähnt, müssen Sie nur Plugin.MediaManager Plugin.MediaManager.Forms Plugins von Nuget Manager hinzufügen. –