[audiere] Playlista
Ostatnio zmodyfikowano 2010-01-27 01:19
PhonniX Temat założony przez niniejszego użytkownika |
[audiere] Playlista » 2010-01-16 20:10:17 Witam, natknąłem się na kolejny problem. Nie wiem jak przełączać muzykę, stworzyłem sobie listboxa w którym mam utwory, po kliknieciu na dany wiersz pobiera jego zawartość i przypisuje do char nazwa_dzwieku, lecz po zmianie scieżki do muzyki, muzyka sie nie zmienia. Co jest nie tak? AudioDevicePtr AUDIERE_Audiodevice( OpenDevice() ); char nazwa_dzwieku[] = "muzyka.mp3"; OutputStreamPtr AUDIERE_Play( OpenSound( AUDIERE_Audiodevice, nazwa_dzwieku, true ) );
AUDIERE_Play->play();
|
|
malan |
» 2010-01-22 10:36:56 Z tego kodu co podałeś to nie wiele można odczytać ;p. Wstaw kod, w którym przypisujesz wartość po kliknięciu. |
|
PhonniX Temat założony przez niniejszego użytkownika |
» 2010-01-25 16:52:12 if(( HWND ) lParam == hPlaylist ) { int id = SendMessage( hPlaylist, LB_GETCURSEL, 0, 0 ); SendMessage( hPlaylist, LB_GETTEXT,( WPARAM ) id,( LPARAM ) nazwa_dzwieku ); SetWindowText( hWnd, nazwa_dzwieku ); OutputStreamPtr AUDIERE_Play( OpenSound( AUDIERE_Audiodevice, nazwa_dzwieku, true ) ); }
|
|
malan |
» 2010-01-27 01:19:00 OutputStreamPtr AUDIERE_Play( OpenSound( AUDIERE_Audiodevice, nazwa_dzwieku, true ) ); To mi się tu nie podoba ;p. Powinieneś ten obiekt stworzyć tylko raz, gdzieś w klasie, czy na początku programu, a w kodzie tylko zrobić przypisanie: OutputStreamPtr AUDIERE_Play;
if(( HWND ) lParam == hPlaylist ) { int id = SendMessage( hPlaylist, LB_GETCURSEL, 0, 0 ); SendMessage( hPlaylist, LB_GETTEXT,( WPARAM ) id,( LPARAM ) nazwa_dzwieku ); SetWindowText( hWnd, nazwa_dzwieku ); AUDIERE_Play->stop(); AUDIERE_Play =( OpenSound( AUDIERE_Audiodevice, nazwa_dzwieku, true ) ); AUDIERE_Play->play(); }
Drugi sposób to stwórz tablice i załaduj wszystkie ścieżki przy rozpoczęciu programu. Potem tylko odczytujesz id klikniętej ścieżki: int last_id = 0;
if(( HWND ) lParam == hPlaylist ) { int id = SendMessage( hPlaylist, LB_GETCURSEL, 0, 0 ); AUDIERE_Play[ last_id ]->stop(); AUDIERE_Play[ id ]->play(); last_id = id; } |
|
« 1 » |