Diskuze: Pokračování v přehrávání

Aktivity (4)
Avatar
Jan Voženílek:26. května 16:16

Nevidím nic jako "SoundPlayer_Me­diaEnded".

Zkusil jsem: Hledal jsem všude možně po internetu, ale nic jsem nenašel.

Chci docílit: Potřebuji po dohrání hudby spustit jinou. Používám winform a myslím, že framework 3.0 (ale nevim :-) ). Potřebuji to pro SoundPlayer.
Předem dík.

 
Odpovědět 26. května 16:16
Avatar
JerryM
Člen
Avatar
JerryM:27. května 9:32

když čteš zdroj ze streamu tak se dá kontrolovat jestli je stream na konci nebo ne.

 
Nahoru Odpovědět 27. května 9:32
Avatar
 
Nahoru Odpovědět 28. května 13:13
Avatar
JerryM
Člen
Avatar
JerryM:28. května 14:23

tam se dá určit kde bude zdroj dat. takže načteš MP3 nebo MP4 nebo WAV do paměti do memory stream a poskytneš konstruktoru SoundPlayer handle na memory stream.

 
Nahoru Odpovědět 28. května 14:23
Avatar
Odpovídá na JerryM
Jan Voženílek:28. května 14:23

Nemůžeš mi napsat kód (přibližný).

 
Nahoru Odpovědět 28. května 14:23
Avatar
JerryM
Člen
Avatar
JerryM:28. května 14:56

... dělal jsem to, ale nemužu najít ten zdroják. zkus tohle

https://stackoverflow.com/…-from-memory

dělal jsem to tak, že jsem nahrál MP3 do paměti do memory stream a z něj sem pak předával kousky dat do dekodéru DirectX a ten to přehrával. zkus taky heslo
"SoundPlayer from memory stream" do googlu

 
Nahoru Odpovědět 28. května 14:56
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na JerryM
Jan Voženílek:28. května 15:16

I tak dík moc. Kdybys ten zdroják našel, určitě ho napiš.

Editováno 28. května 15:17
 
Nahoru Odpovědět 28. května 15:16
Avatar
JerryM
Člen
Avatar
JerryM:28. května 15:24

já se kouknu ale už je to nějakej čas...

 
Nahoru Odpovědět 28. května 15:24
Avatar
JerryM
Člen
Avatar
JerryM:28. května 15:25

tady něco máš

https://social.msdn.microsoft.com/…asoundplayer?…

můžeš zkusit dotaz na MSDN forums

 
Nahoru Odpovědět 28. května 15:25
Avatar
HONZ4
Člen
Avatar
Odpovídá na Jan Voženílek
HONZ4:28. května 20:46

SoundPlayer nic takového nemá (používá se na zvuky aplikace).

Použij např. Microsoft.Direc­tX.AudioVideo­Playback.Audio
Kromě wav přehraješ i jiné typy souborů (pokud máš nainstalované kodeky)

(C:\Windows\as­sembly\GAC\Mi­crosoft.Direc­tX.AudioVideo­Playback\1.0.2902­.0__31bf3856ad364e35\Mi­crosoft.Direc­tX.AudioVideo­Playback.dll)

//netestovaná ukázka použití:
      private static int tracknum = -1;
      private static Audio audio;

        private void OpenTrack()
        {
            try
            {
                if (audio == null || audio.Disposed)
                {
                    audio = new Audio(SeznamStop[tracknum], true);
                    audio.Ending += PlayNext; //< využiješ Ending
                }
                else audio.Open(SeznamStop[tracknum], true);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }

        private void PlayNext(Object sender, EventArgs e)
        {
            tracknum++;
            if (tracknum >= SeznamStop.Count) tracknum = 0;
            OpenTrack();
        }

Už nevím proč, do konfigurace (App.config) se myslím se muselo dát:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <startup useLegacyV2RuntimeActivationPolicy="true">
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
  </startup>
</configuration>

Jak udělat zbytek si už poraď sám. Nezapomeň při likvidaci formu na Dispose() Audia

Nebo můžeš použít MCI , ale je to pro začátečníka mnohem složitější.

Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět 28. května 20:46
Avatar
JerryM
Člen
Avatar
JerryM:29. května 20:09

tady něco taky je

https://social.msdn.microsoft.com/…nd-of-stream?…

 
Nahoru Odpovědět 29. května 20:09
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 11 zpráv z 11.