• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

question-closed [C++ BASS]Odtwarzacz

Object Storage Arubacloud
0 głosów
507 wizyt
pytanie zadane 18 marca 2017 w C i C++ przez robertwe Gaduła (4,620 p.)
zamknięte 21 marca 2017 przez robertwe

Piszę sobie odtwarzacz muzyczny ale mam problem jak z OpenFileDialog przekazać FileName do

BASS_StreamCreateFile(false, tu trzeba przekazać tyle że przyjmuje tylko const void *file lub const wchar *file, 0, 0, BASS_MP3_SETPOS);

tyle że niewiem jak to zrobić proszę o pomoc...

Kod:

openFileDialog1->ShowDialog();
hMP3 = BASS_StreamCreateFile(false, /////Tu muszę przekazać"plik.mp3", 0, 0, BASS_MP3_SETPOS);
dwStreamLen = BASS_ChannelGetLength(hMP3, BASS_POS_BYTE);
fSecondsTotal = BASS_ChannelBytes2Seconds(hMP3, dwStreamLen);
BASS_ChannelPlay(hMP3, false);

 

komentarz zamknięcia: Znalazłem odpowiedź na moje pytanie tutaj: https://support.microsoft.com/pl-pl/help/311259/how-to-convert-from-system-string-to-char-in-visual-c
komentarz 18 marca 2017 przez robertwe Gaduła (4,620 p.)
dodam że wzoruję się na dokumentacji z tego linku http://www.un4seen.com/doc/#bass/BASS_StreamCreateFile.html

1 odpowiedź

+1 głos
odpowiedź 18 marca 2017 przez adrian17 Ekspert (344,860 p.)
wybrane 21 marca 2017 przez robertwe
 
Najlepsza
To jest C++/CLI? Jak tak to pewnie prościej będzie jak skorzystasz z wrappera .NETowego (i normalniejszego języka, jakim jest C#):

https://github.com/ManagedBass/Home/blob/master/docs/Getting%20Started/HelloBASS.md
1
komentarz 19 marca 2017 przez adrian17 Ekspert (344,860 p.)

Z przykładem tego co chcesz zrobić:

            var stream = Bass.CreateStream("FILE.mp3");
            long bytes = Bass.ChannelGetLength(stream);
            double seconds = Bass.ChannelBytes2Seconds(stream, bytes);
            Bass.ChannelPlay(stream);

 

komentarz 19 marca 2017 przez robertwe Gaduła (4,620 p.)
tyle że FILE.MP3 nie jest na stałe zdefioniowane potrzebuję aby użytkownik wybrał w dialogu otwierania pliku konkretny plik
1
komentarz 19 marca 2017 przez adrian17 Ekspert (344,860 p.)
            var dialog = new OpenFileDialog();
            if (dialog.ShowDialog() != DialogResult.OK)
                return;

            var stream = Bass.CreateStream(dialog.FileName);

 

komentarz 21 marca 2017 przez robertwe Gaduła (4,620 p.)

Udało mi się uzyskać to co próbuję w C++ ale dziękuje za propozycje w C#

Użyłem:

using namespace System::Runtime::InteropServices;

openFileDialog1->ShowDialog();
char* Str2 = (char*)(void*)Marshal::StringToHGlobalAnsi(openFileDialog1->FileName);
hMP3 = BASS_StreamCreateFile(false, Str2, 0, 0, BASS_MP3_SETPOS);
dwStreamLen = BASS_ChannelGetLength(hMP3, BASS_POS_BYTE);
fSecondsTotal = BASS_ChannelBytes2Seconds(hMP3, dwStreamLen);
BASS_ChannelPlay(hMP3, false);

 

Podobne pytania

0 głosów
0 odpowiedzi 101 wizyt
pytanie zadane 11 grudnia 2019 w C# przez Scorpion_1982 Nowicjusz (120 p.)
0 głosów
1 odpowiedź 116 wizyt
pytanie zadane 1 maja 2016 w HTML i CSS przez BlvckFox Gaduła (4,240 p.)
0 głosów
1 odpowiedź 839 wizyt

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...