Anniversary - BF C/C++ week
80 % bodů zdarma na online výuku díky naší Narozeninové akci!
Pouze tento týden sleva až 80 % na e-learning týkající se C/C++
Avatar
Jan Voženílek:26.5.2019 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.5.2019 16:16
Avatar
JerryM
Člen
Avatar
JerryM:27.5.2019 9:32

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

 
Nahoru Odpovědět
27.5.2019 9:32
Avatar
 
Nahoru Odpovědět
28.5.2019 13:13
Avatar
JerryM
Člen
Avatar
JerryM:28.5.2019 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.5.2019 14:23
Avatar
Odpovídá na JerryM
Jan Voženílek:28.5.2019 14:23

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

 
Nahoru Odpovědět
28.5.2019 14:23
Avatar
JerryM
Člen
Avatar
JerryM:28.5.2019 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.5.2019 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.5.2019 15:16

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

Editováno 28.5.2019 15:17
 
Nahoru Odpovědět
28.5.2019 15:16
Avatar
JerryM
Člen
Avatar
JerryM:28.5.2019 15:24

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

 
Nahoru Odpovědět
28.5.2019 15:24
Avatar
JerryM
Člen
Avatar
JerryM:28.5.2019 15:25

tady něco máš

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

můžeš zkusit dotaz na MSDN forums

 
Nahoru Odpovědět
28.5.2019 15:25
Avatar
HONZ4
Člen
Avatar
Odpovídá na Jan Voženílek
HONZ4:28.5.2019 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.5.2019 20:46
Avatar
JerryM
Člen
Avatar
 
Nahoru Odpovědět
29.5.2019 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.