2015-11-06 8 views
5

Ich versuche eine M4A (MP4 Audio) Datei direkt aus dem Internet mit einer URL abzuspielen.
ich NAudio mit dem MediaFoundation bin mit, dies zu erreichen:NAudio - MediaFoundationReader: Konstruktor akzeptiert keine gelieferte m4a-URL (von einem youtube-Link)

using (var reader = new MediaFoundationReader(audioUrl)) //exception 
using (var wave = new WaveOutEvent()) 
{ 
    wave.Init(reader); 
    wave.Play(); 
} 

Das funktioniert gut auf zwei Testsystemen unter Windows 8.1 und Windows 10. Aber auf meinem Windows 7 Maschine es nicht funktioniert, ich bin immer ein Ausnahme von innerhalb des MediaFoundationReader Konstruktors.
Zunächst bekam ich eine ArgumentOutOfRangeException. Ich habe versucht, diese m4a-Datei in WMP abzuspielen und konnte sie auch nicht abspielen. Ich habe ein Codec-Paket heruntergeladen und es installiert. Das half mit WMP aber mein Code war immer noch eine Ausnahme werfen, wenn auch eine andere:

eine ungeprüfte Ausnahme des Typs ‚System.Runtime.InteropServices.COMException‘ aufgetreten in NAudio.dll

Zusätzliche Informationen: Es sind mehr Daten verfügbar. (Ausnahme von HRESULT: 0x800700EA)

Irgendwelche Ideen, was dies verursacht sein könnte, und wie kann ich es beheben?

+1

I ** Debug \ Windows \ Exception Einstellungen gehen würde ** und konfigurieren Sie es in allen Exceptions_ _Break. Die Überprüfung innerer Ausnahmen sollte einen besseren Hinweis auf das Problem geben. – jsanalytics

+0

Mit dem Quellcode von Codeplex kann ich auch den Code für 'MediaFoundationReader()' -Konstruktor mit dem Debugger ohne Probleme durchgehen. Ich habe keinen Zugriff auf einen Windows7-Computer, mit dem ich die Ausnahme reproduzieren könnte. "Leider" funktioniert alles unter meinem Windows 10 Rechner einwandfrei. – jsanalytics

+0

Nicht in der Lage, auf win7 sp1 zu reproduzieren. Link zu der Datei? – cviejo

Antwort

0

Manchmal verfügt der Benutzer nicht über ausreichende Berechtigungen zum Ausführen von COM-Methoden.

Versuchen Sie, die Anwendung als Administrator auszuführen.

1

Mit einigen Recherchen i identifiziert diese

0x800700EA kann auftreten, wenn Ihr Windows-Betriebssystem beschädigt wird. Es kann zahlreiche Gründe dafür geben, dass dieser Fehler auftritt einschließlich übermäßiger Starteinträge, Registrierungsfehler, Hardware/RAM Rückgang, fragmentierte Dateien, unnötige oder redundante Programm Installationen und so weiter.

Können Sie versuchen, Sie in einem anderen System programmieren und verifizieren

+0

Ich habe es auf meine Freundinnen Win7-System versucht, aber dort aufgetreten seltsame andere Fehler und es hat auch nicht funktioniert. Vielleicht ist dieses System auch beschädigt (beide PCs sind mehrere Jahre alt ...). Also ich werde mein System neu installieren und es erneut versuchen, weil diese Fehler so komisch sind ... Ich denke, ein korruptes System ist der Grund. In ungefähr 3 Monaten werde ich sowieso einen neuen, sehr guten PC bekommen. Danke für deine Zeit;) – Aldarion