Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[audiere] Playlista

Ostatnio zmodyfikowano 2010-01-27 01:19
Autor Wiadomość
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?

C/C++
AudioDevicePtr AUDIERE_Audiodevice( OpenDevice() );
char nazwa_dzwieku[] = "muzyka.mp3";
OutputStreamPtr AUDIERE_Play( OpenSound( AUDIERE_Audiodevice, nazwa_dzwieku, true ) );

AUDIERE_Play->play();

P-13074
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.
P-13198
PhonniX
Temat założony przez niniejszego użytkownika
» 2010-01-25 16:52:12
C/C++
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 ) );
}
P-13295
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:
C/C++
//Gdzieś na początku
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:
C/C++
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;
}
P-13326
« 1 »
  Strona 1 z 1