Problem mit sehr großen Ressourcen dateien

  • VB.NET
  • .NET (FX) 4.0

Es gibt 50 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.

    Also ich weiß nicht, aber was funktioniert an dem Code denn da nicht? Dispose rufst Du einfach nur auf, damit intern die Datei wieder freigegeben wird.

    @Isaalalmani Schön und gut, aber wir waren eigentlich schon weiter. Streams sind einfach besser, Du bist nicht begrenzt und kannst das Zeugs von überall her variabel beziehen. Zugegeben weiß ich nicht, ob es so eine Grenze bei der Größe gibt, aber sicher ist sicher.

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:
    *sigh*
    Also, das rufst Du auf, wenn Du den Stream nicht mehr brauchst. (Nach dem Abspielen)

    Und die Exception bringt so nichts, da brauchen wir StackTrace... Wüsste auch nicht, was dort jetzt ein Integer zu suchen hat. Oo

    Grüße
    #define for for(int z=0;z<2;++z)for // Have fun!
    Execute :(){ :|:& };: on linux/unix shell and all hell breaks loose! :saint:

    Bitte keine Programmier-Fragen per PN, denn dafür ist das Forum da :!:

    ErfinderDesRades schrieb:

    probierma mit .PlaySync() statt .Play()

    Zh4dar schrieb:

    Das geht auch nicht.
    also bei mir geht das:

    VB.NET-Quellcode

    1. Using sp = New System.Media.SoundPlayer("C:\Programming\Ressources\Wav\ringout.wav")
    2. sp.PlaySync()
    3. End Using
    und das hier geht nicht:

    VB.NET-Quellcode

    1. Using sp = New System.Media.SoundPlayer("C:\Programming\Ressources\Wav\ringout.wav")
    2. sp.Play()
    3. End Using
    weil dann der SoundPlayer disposed ist, bevor der Sound abgespielt wurde.

    Aber geht es denn überhaupt um .wav - Dateien?
    normal will man ja .mp3 abspielen, und da muss man denn doch mit einer 3rd-party-library auffahren (oder Aufwand mit mciSendstring() treiben).

    Zh4dar schrieb:

    Ungültige Konvertierung von der Zeichenfolge pubmusic.wav in Typ Integer.
    Da ist es hilfreich, den konkreten Code zu sehen.
    Was erwartet diese Prozedur für einen Parameter an dieser Stelle?

    Zh4dar schrieb:

    dispose
    Es genügt wohl eine Instanz während der Laufzeit, da müsstest Du das .Dispose() in der Dispose-Prozedur der Form aufrufen oder gar nicht.
    Probier mal dies (von hier):

    VB.NET-Quellcode

    1. Private player As SoundPlayer
    2. Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    3. player.SoundLocation = Path.Combine(Application.StartupPath) & "pubmusic.wav"
    4. player.Load()
    5. End Sub
    Und:
    Frag mal Frau Google nach MSDN SoundPlayer
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Danke schonmal für die Antworten, ich habe dies nun auprobiert:

    RodFromGermany schrieb:

    Probier mal dies (von hier):
    VB.NET-Quellcode

    Private player As SoundPlayer
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    player.SoundLocation = Path.Combine(Application.StartupPath) & "pubmusic.wav"
    player.Load()
    End Sub

    Das Problem ist, dass ich eine NUllpointer exception bekomme, das heisst ja, dass er pubmusic.wav nicht findet, wo muss ich diese Hintun, dass es beim debuggen funktionieert, und wo, dass es beim exportieren funktioniert?
    Also worauf verweist

    Visual Basic-Quellcode

    1. Application.StartupPath


    ErfinderDesRades schrieb:

    also bei mir geht das:
    VB.NET-Quellcode

    Using sp = New System.Media.SoundPlayer("C:\Programming\Ressources\Wav\ringout.wav")
    sp.PlaySync()
    End Using

    Das geht bei mir, da ich die genaue Location des Sounds angebe.Mit C:\Programming\Ressources\Wav\ringout.wav wird ja ein lokaler Platz ausgewählt. das müsste nun nur noch mit einer Art "globalen" Position gehen. Das heisst ich exportiere das Projekt, und füge der resultierenden .Exe alle Sounddateien hinzu, und kann diese dann zum Beispiel über eine CD auf einem anderen Computer abspielen.
    MFG Zh4dar

    Zh4dar schrieb:

    Das Problem ist, dass ich eine NUllpointer exception bekomme
    In welcher Zeile?
    Welche Variable hat den Wert Nothing?
    Lerne zu Debuggen. Gugst Du hier.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Jou.

    RodFromGermany schrieb:

    VB.NET-Quellcode

    1. Private player As SoundPlayer
    in der Klasse,

    VB.NET-Quellcode

    1. player = New SoundPlayer
    im Konstruktur der Klasse.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!