Ungültiger Medientyp?



  • Hallo,

    ich bekomme bei folgendem Code immer eine Exception mit der Angabe, die Datei sei ein ungültiger Medientyp - was aber nicht stimmt. Ich versuche dabei ein Video aus einer MP3-Datei und einem Bild zu erstellen.

    Hier mein Code:

    CreateVideo(@"C:\save_in_here\test.wmv", @"C:\pic\1.jpg", @"C:\mus\1.mp3");
    

    ...

    public void CreateVideo(string videoToCreate, string imageLoc, string tuneLoc)
        {
            if (videoToCreate.Equals(""))
            {
                MessageBox.Show("Error");
            }
            else
            {
                using (ITimeline timeline = new DefaultTimeline())
                {
                    IGroup group = timeline.AddVideoGroup(32, 720, 576);
                    ITrack videoTrack = group.AddTrack();
                    IClip clip = videoTrack.AddImage(imageLoc, 0, 120);
    
                    // add some audio
                    ITrack audioTrack = timeline.AddAudioGroup().AddTrack();
                        IClip audio = audioTrack.AddAudio(tuneLoc, 0, 120); // ERROR?!
    
                    // create an audio envelope effect, this will:
                    // fade the audio from 0% to 100% in 1 second.
                    // play at full volume until 1 second before the end of the track
                    // fade back out to 0% volume
                    audioTrack.AddEffect(0, 120, StandardEffects.CreateAudioEnvelope(1.0, 1.0, 1.0, 120));
    
                    // render our slideshow out to a windows media file
                    using (WindowsMediaRenderer renderer = new WindowsMediaRenderer(timeline, videoToCreate, WindowsMediaProfiles.HighQualityVideo))
                    //using (AviFileRenderer renderer= new AviFileRenderer(timeline,videoToCreate))
                    {
                        renderer.Render();
                    }
                }
            }
        }
    

    Hier der Fehler:

    System.Runtime.InteropServices.COMException (0x80040200): Es wurde ein ungültiger Medientyp angegeben.
       bei DirectShowLib.DES.DESError.ThrowExceptionForHR(Int32 hr)
       bei Splicer.Utilities.MediaInspector.GetLength(String fileName)
       bei Splicer.Timeline.MediaFile..ctor(String fileName, Boolean manageLifespan)
       bei Splicer.Timeline.Track.AddClip(String name, String fileName, GroupMediaType mediaType, InsertPosition position, Double offset, Double clipStart, Double clipEnd, Boolean manageLifespan)
       bei Splicer.Timeline.Track.AddClip(String name, String fileName, GroupMediaType mediaType, InsertPosition position, Double offset, Double clipStart, Double clipEnd)
       bei Splicer.Timeline.Track.AddClip(String fileName, GroupMediaType mediaType, InsertPosition position, Double offset, Double clipStart, Double clipEnd)
       bei Splicer.Timeline.Track.AddAudio(String fileName, Double offset, Double clipEnd)
       bei uMusic.lib.Helper.CreateVideo(String videoToCreate, String imageLoc, String tuneLoc) in C:\Users\Moe\Documents\Visual Studio 2010\Projects\WindowsFormsApplication5\WindowsFormsApplication5\lib\Helper.cs:Zeile 135.
    

    Weiß einer, warum ich diesen Fehler bekomme?
    Danke schon mal!



  • Bist du sicher dass das Format unterstützt wird ?
    Ist die Datei beschädigt oder der Pfad falsch ?



  • Weder ist die Datei beschädigt, noch ist der Pfad falsch. MP3 müsste doch unterstützt werden, oder?



  • Genau kann dir das nur der Autor sagen.
    In den Tests für den Splicer sieht man aber das immer nur *.wav Dateien benutzt werden:

    http://splicer.codeplex.com/SourceControl/changeset/view/99885#119626

    Ah, ne falsch, mp3 Dateien auch
    track.AddClip("testinput.mp3", GroupMediaType.Audio, InsertPosition.Absolute, 2, 0, -1);

    Ich hab mich damit nicht genau beschäftigt um zu sagen was dein Fehler ist. Bei solche schlecht Dokumentierten 3rdParty Komponenten muss man mit sowas rechnen ^^



  • gibt es den bessere Alternativen zu Splicer?


Anmelden zum Antworten