Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.08.2009, 13:48   #1
RNT
Пользователь
 
Аватар для RNT
 
Регистрация: 15.09.2008
Сообщений: 59
По умолчанию Как воспроизвести звук ?

Здравствуйте. Подскажите как сделать чтобы функция sndPlaySound могла воспроизвести звуковой файл, путь к которому содержится в OpenDialog1->FileName. (C++ Builder)
Код:
//Почемуто так не работает
sndPlaySound(PChar(OpenDialog1->FileName) , SND_SYNC);
sndPlaySound(OpenDialog1->FileName , SND_SYNC);
RNT вне форума Ответить с цитированием
Старый 13.08.2009, 17:20   #2
lennon
Заблокирован
 
Регистрация: 18.11.2007
Сообщений: 254
По умолчанию

Цитата:
Сообщение от RNT Посмотреть сообщение
Здравствуйте. Подскажите как сделать чтобы функция sndPlaySound могла воспроизвести звуковой файл, путь к которому содержится в OpenDialog1->FileName. (C++ Builder)
Код:
//Почемуто так не работает
sndPlaySound(PChar(OpenDialog1->FileName) , SND_SYNC);
sndPlaySound(OpenDialog1->FileName , SND_SYNC);

не работает конкретно что? компилятор ругаеться или звук не играет?
эта функция проигрывает только wav файлы, ну или попробуй написать так
sndPlaySound(OpenDialog1->FileName.c_str(), SND_SYNC);
lennon вне форума Ответить с цитированием
Старый 13.08.2009, 19:25   #3
RNT
Пользователь
 
Аватар для RNT
 
Регистрация: 15.09.2008
Сообщений: 59
По умолчанию

Цитата:
sndPlaySound(OpenDialog1->FileName.c_str(), SND_SYNC);
Не компилится (у меня C++ Builder 2009)
[BCC32 Error] MainUnit.cpp(137): E2034 Cannot convert 'wchar_t *' to 'const char *'
[BCC32 Error] MainUnit.cpp(137): E2342 Type mismatch in parameter 'pszSound' (wanted 'const char *', got 'wchar_t *')
RNT вне форума Ответить с цитированием
Старый 13.08.2009, 19:29   #4
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от RNT Посмотреть сообщение
Не компилится (у меня C++ Builder 2009)
[BCC32 Error] MainUnit.cpp(137): E2034 Cannot convert 'wchar_t *' to 'const char *'
[BCC32 Error] MainUnit.cpp(137): E2342 Type mismatch in parameter 'pszSound' (wanted 'const char *', got 'wchar_t *')
попробуйте sndPlaySoundW
netrino вне форума Ответить с цитированием
Старый 13.08.2009, 19:30   #5
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Вот так нужно!
Код:
if OpenDialog1->Execute(){
sndPlaySound(PChar(OpenDialog1->FileName),0 , SND_SYNC);
}
uberchel вне форума Ответить с цитированием
Старый 13.08.2009, 19:36   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от uberchel Посмотреть сообщение
Вот так нужно!
Код:
if OpenDialog1->Execute(){
sndPlaySound(PChar(OpenDialog1->FileName),0 , SND_SYNC);
}
Нет, так не нужно ) MSDN:
Код:
BOOL sndPlaySound(
  LPCTSTR lpszSound,  
  UINT fuSound       
);
netrino вне форума Ответить с цитированием
Старый 13.08.2009, 19:47   #7
RNT
Пользователь
 
Аватар для RNT
 
Регистрация: 15.09.2008
Сообщений: 59
По умолчанию

Код:
sndPlaySoundW(OpenDialog1->FileName.c_str(), SND_SYNC);
Так работает. Спасибо netrino !
RNT вне форума Ответить с цитированием
Старый 13.08.2009, 19:49   #8
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

Да, да, только вспомнил )

Код:
sndPlaySound(AnsiLastChar(OpenDialog1->FileName), SND_ASYNC | SND_FILENAME);
uberchel вне форума Ответить с цитированием
Старый 13.08.2009, 19:55   #9
RNT
Пользователь
 
Аватар для RNT
 
Регистрация: 15.09.2008
Сообщений: 59
По умолчанию

Цитата:
sndPlaySound(AnsiLastChar(OpenDialo g1->FileName), SND_ASYNC | SND_FILENAME);
Не компилится
[BCC32 Error] MainUnit.cpp(140): E2034 Cannot convert 'wchar_t *' to 'const char *'
[BCC32 Error] MainUnit.cpp(140): E2342 Type mismatch in parameter 'pszSound' (wanted 'const char *', got 'wchar_t *')
RNT вне форума Ответить с цитированием
Старый 13.08.2009, 20:04   #10
uberchel
Участник клуба
 
Аватар для uberchel
 
Регистрация: 19.01.2009
Сообщений: 1,453
По умолчанию

В 6 у меня компилируется и работает, но как то не так вообще код идет ,когда была 3-я, писал как в первом своём посту и все работало!
В 6 вообще нету даже char и многого, я так то работаю на делфи а эту установил так на всякий случай, лучше б не устанавливал )
Вообще эту стереть удалить надо! Дистрибутив попался видно гадский)
uberchel вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как воспроизвести видео не из файла а из памяти? s.Creator Мультимедиа в Delphi 9 06.01.2010 23:42
Imy воспроизвести CLaSTR Общие вопросы по Java, Java SE, Kotlin 0 28.05.2009 00:46
Как воспроизвести файл MP3 vitamin.rulez Помощь студентам 13 27.01.2009 20:23
Как настроить звук lionman Мультимедиа в Delphi 2 11.10.2008 14:47
звук и делфи, левый правый звук snusmumric Win Api 2 29.10.2007 11:10