ich Ihren Code auf meiner Seite getestet. Ich habe eine leere uwp-App erstellt und installiere das FFmpegInterop.UWP 1.0.3
nugget-Paket. Verwenden Sie dann Ihr Code-Snippet, um eine lokale mp4-Mediendatei abzuspielen. Dies kann gut funktionieren und ich kann Ihr Problem nicht reproduzieren. Da Ihr Code-Snippet nicht das ganze ist, hier ist die komplette Demo, die erfolgreich ausgeführt werden kann, Sie können testen und versuchen herauszufinden, was falsch ist.
XAML-Code
<StackPanel Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<MediaElement x:Name="mediaElement" Height="400" Width="400">
</MediaElement>
<Button x:Name="btnplay" Click="btnplay_Click" Content="play"></Button>
</StackPanel>
-Code hinter
private async void btnplay_Click(object sender, RoutedEventArgs e)
{
FileOpenPicker openPicker = new FileOpenPicker();
openPicker.ViewMode = PickerViewMode.Thumbnail;
openPicker.SuggestedStartLocation = PickerLocationId.PicturesLibrary;
openPicker.FileTypeFilter.Add(".mp3");
openPicker.FileTypeFilter.Add(".mp4");
openPicker.FileTypeFilter.Add(".mkv");
StorageFile file = await openPicker.PickSingleFileAsync();
using (IRandomAccessStream readStream = await file.OpenAsync(FileAccessMode.Read))
{
try
{
// Instantiate FFmpegInteropMSS using the opened local file stream
var FFmpegMSS = FFmpegInteropMSS.CreateFFmpegInteropMSSFromStream(readStream, false, false);
MediaStreamSource mss = FFmpegMSS.GetMediaStreamSource();
if (mss != null)
{
// Pass MediaStreamSource to Media Element
mediaElement.SetMediaStreamSource(mss);
// Close control panel after file open
//Splitter.IsPaneOpen = false;
}
else
{
System.Diagnostics.Debug.WriteLine("Cannot open media");
}
}
catch (Exception ex)
{
System.Diagnostics.Debug.WriteLine((ex.Message));
}
}
}
Getestet habe ich auf dem lokalen Rechner Fenster 10 Build 14393. Weitere Informationen erhalten Sie this article verweisen. Und here ist ein ähnliches Problem mit Ihnen, das Sie versuchen können, zu verweisen.
Wie kann ich die csproj-Datei überprüfen? Ich meine, ist das nicht eine Projektdatei? Wie kann ich es in Textform öffnen, wie Sie es in Ihrem Beitrag gezeigt haben, um zu bestätigen, ob es diese DLL-Referenzen hat? Wenn Sie fragen, ob ich DLL-Dateien in meinem Projektordner habe, dann NEIN, ich habe sie nicht bcz Ich habe die Bibliothek von Nugget heruntergeladen und es hatte keine Abhängigkeiten. – touseef
Es war mein missverstanden. Ich dachte, dass Sie das FFmpegInterop-Gebäude von der Quelle verwenden. Wenn Sie das NuGet-Paket verwenden, müssen Sie die Datei .csproj nicht ändern, um die Decoder-DLL hinzuzufügen. Danach habe ich versucht, Ihr Problem neu zu erstellen. Ich habe ein einfaches UWP-Projekt erstellt und FFmpegInterop.UWP.1.0.3 hinzugefügt. Aber es funktioniert gut ohne Fehler. Entschuldigung, aber ich habe keine Ahnung davon. – pnp0a03