Воспроизведение музыкального файла в C ++

0

Я работаю над созданием собственной тревоги, что хотел бы сыграть свои собственные музыкальные файлы с помощью c/c++. Единственная функция c++, которую я смог найти, - это что-то вроде PlaySound(), но я не могу заставить ее работать, и я не уверен, что я делаю неправильно. Я включил "Winmm.lib", который позволяет мне воспроизводить звук по умолчанию, но теперь я пытаюсь воспроизвести свой музыкальный файл. (в формате wma).

Это мой код:

#include <Windows.h>
int main(){
  PlaySound(TEXT("test.wma"), NULL, SND_FILENAME);
  return 0;
}

Я также добавил флаг SND_NODEFAULT, чтобы я мог перестать слышать звук по умолчанию.

  • 0
    Что вы подразумеваете под "не могу заставить это работать"? Что происходит? Издает ли вообще какой-нибудь звук? Функция возвращает ошибку (которую вы здесь не проверяете)? Также просто добавьте его, но есть и другие функции C ++, которые могут воспроизводить медиа-файлы.
  • 0
    Возможно, что test.wma отсутствует в текущем каталоге вашей программы, и поэтому функция PlaySound () не может его найти. В качестве теста попробуйте указать полный путь к файлу, например, что-то вроде PlaySound (TEXT ("C: \\ Users \\ Vince \\ MySoundsFolder \\ test.wma"), NULL, SND_FILENAME);
Показать ещё 2 комментария
Теги:
audio
playback

2 ответа

1

Насколько я знаю, PlaySound поддерживает только .wav файлы.

Если вы хотите играть в .wma вам нужно либо использовать Audio Compression Manager, либо одну из сторонних аудио-библиотек.

0

Попробуйте использовать простой код c++ в V c++.

#include <windows.h>
#include <iostream>
#pragma comment(lib, "winmm.lib")

int main(int argc, char* argv[])
{
std::cout<<"Sound playing... enjoy....!!!";
PlaySound("C:\\temp\\sound_test.wav", NULL, SND_FILENAME); //SND_FILENAME or SND_LOOP

return 0;
}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню