Форум программистов, компьютерный форум CyberForum.ru

Проигрывание mp3 - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 53, средняя оценка - 4.96
Vitall
735 / 514 / 23
Регистрация: 03.07.2011
Сообщений: 1,020
18.07.2011, 06:41     Проигрывание mp3 #1
Добрый день ,может ли кто нибудь подсказать функцию или участок кода для проигрывания mp3 файлов в программе на С++ (тип проекта General).На данный момент пользуюсь функцией sndPlaySound() ,но она воспроизводит только wav файлы.А мне в таком случаи надо кучу файлов перегонять из mp3 to wav .Большое спасибо гарантирую
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.07.2011, 06:41     Проигрывание mp3
Посмотрите здесь:

Проигрывание Wave-файла C++
C++ Проигрывание музыки.
как остановить проигрывание звука C++
PlaySound mp3 C++
редактирование .mp3 файлов C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Morgan-S23
 Аватар для Morgan-S23
-26 / 3 / 0
Регистрация: 20.03.2011
Сообщений: 102
18.07.2011, 09:38     Проигрывание mp3 #2
а можно увидеть твою программу, которая проигрывает wav файлы ?

мне прост интересно стало
igorrr37
 Аватар для igorrr37
1593 / 1221 / 118
Регистрация: 21.12.2010
Сообщений: 1,868
Записей в блоге: 7
18.07.2011, 09:50     Проигрывание mp3 #3
так попробуй
C++
1
2
3
4
5
6
7
#include <windows.h>
#pragma comment(lib, "winmm.lib")
 
int main(){
    mciSendString("play D:\\файл.mp3 wait", NULL, 0, NULL);
    return 0;
}
Vitall
735 / 514 / 23
Регистрация: 03.07.2011
Сообщений: 1,020
18.07.2011, 10:34  [ТС]     Проигрывание mp3 #4
Цитата Сообщение от Morgan-S23 Посмотреть сообщение
а можно увидеть твою программу, которая проигрывает wav файлы ?

мне прост интересно стало
Можно, только это зрелище не для слабонервных http://codepad.org/Musopg44

igorrr37, Спасибо ,заработало !
fair7
8 / 8 / 0
Регистрация: 31.12.2010
Сообщений: 81
18.10.2011, 23:48     Проигрывание mp3 #5
Помогите скомпилировать этот пример (который выше) на Dev-C++ 4.9.9.2.
Пробовал и на Qt 2010.02 и вижуале 8 - не получается.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
//#include "stdafx.h"
#include <windows.h>
#include <tchar.h>
#include <mmsystem.h>//sndPlaySound
 
//#pragma comment(lib, "winmm.lib")
 
int main(){
     //   const wchar_t nyTb[]=L"c:\\ding.wav";
     char nyTb[]="c:\\ding.wav";
    PlaySound(nyTb, NULL, SND_FILENAME);
    mciSendString(nyTb,NULL,0,NULL);
    /*
    PlaySoundA("c:\\ding.wav", NULL, SND_FILENAME);
    mciSendStringA("c:\\ding.wav" ,NULL,0,NULL);
    */
    return 0;
}
Вот такое выдаёт в Борланде:
[Linker error] undefined reference to `PlaySoundA@12'
[Linker error] undefined reference to `mciSendStringA@16'
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
19.10.2011, 01:54     Проигрывание mp3 #6
//#pragma comment(lib, "winmm.lib")

зачем закоментировано?
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
19.10.2011, 05:07     Проигрывание mp3 #7
fair7, в Dev-C++ компилируйте с параметром -lwinmm. В студии - http://msdn.microsoft.com/ru-ru/library/ba1z7822.aspx
Если Qt Creator настроен на mingw - то компилируйте с параметром -lwinmm.

Цитата Сообщение от OstapBender Посмотреть сообщение
зачем закоментировано?
Наверно сделал вывод что с MinGW такое не прокатит. Там как минимум нет *.lib файлов. Вместо них - lib*.a
fair7
8 / 8 / 0
Регистрация: 31.12.2010
Сообщений: 81
23.10.2011, 18:15     Проигрывание mp3 #8
Пробовал по предложенным ссылкам ходить и описание MinGW и lwinmm читать. А в настройках не нашёл изменить то, что советовал.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <windows.h>
#include <mmsystem.h>//sndPlaySound
 
#if defined(_MSC_VER)
#pragma comment(lib, "winmm.lib")
#pragma comment(lib, "shlwapi.lib")
#endif 
 
int main(){
 
     char nyTb[]="c:\\ding.wav";
    PlaySound(nyTb, NULL, SND_FILENAME);
    mciSendString(nyTb,NULL,0,NULL);
 
    return 0;
}
Те же ошибки.
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
23.10.2011, 19:18     Проигрывание mp3 #9
fair7, если я с консоли компилирую так:
gcc 1.c -lwinmm
То все прекрасно компилирует и работает.
fair7
8 / 8 / 0
Регистрация: 31.12.2010
Сообщений: 81
25.10.2011, 19:33     Проигрывание mp3 #10
А под какую операционку получилось, под линукс?
Я в ХР виндовс (зверь).

Добавлено через 1 минуту
я думал gcc под линукс.
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
25.10.2011, 20:47     Проигрывание mp3 #11
Цитата Сообщение от fair7 Посмотреть сообщение
я думал gcc под линукс.
gcc есть также для винды. Называется по-другому.
http://ru.wikipedia.org/wiki/MinGW

Цитата Сообщение от fair7 Посмотреть сообщение
А под какую операционку получилось, под линукс?
Что-то я сомневаюсь, код под линукс будет компилироваться. Этот код требует виндовые функции.
Под XP компилировал.
Digit@ll
Brainsbreaker
 Аватар для Digit@ll
832 / 343 / 27
Регистрация: 01.02.2011
Сообщений: 1,483
20.11.2011, 01:29     Проигрывание mp3 #12
В Студии проблем нет.
Евгений М.
1033 / 974 / 53
Регистрация: 28.02.2010
Сообщений: 2,817
Завершенные тесты: 2
20.11.2011, 05:27     Проигрывание mp3 #13
В компиляторе MinGW (который по умолчанию настроен в кодблокс и девспп) эта вещь:
C++
1
#pragma comment(lib, "irrKlang.lib")
не работает.

Здесь инструкции по настройке:
http://www.irrlicht.ru/index.php?vm=26.view.33.
http://www.irrlicht.ru/index.php?vm=31
fair7
8 / 8 / 0
Регистрация: 31.12.2010
Сообщений: 81
29.11.2011, 01:20     Проигрывание mp3 #14
По крайней мере у меня в Вижуале компилится такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "stdafx.h"// KOMnU7UTCR B Visual Studio
#include <conio.h>
#include <windows.h>// CHA4A7A DO7JEH 5bITb <windows.h>
// A nOTOM <mmsystem.h>
#include <mmsystem.h>//sndPlaySound
 
#pragma comment(lib, "winmm.lib")// 5E3 -)TOrO HE PA5OTAET
 
int main()
{
    wchar_t nyTb[]=L"1.wav";// TAM, rDE "*.exe"
    PlaySound(nyTb, NULL, SND_FILENAME);    
    _getch();
    PlaySoundA("2.wav", NULL, SND_FILENAME);
    _getch();
    PlaySound(L"1.wav", NULL, SND_FILENAME);
    // HE PA5OTAET
    //mciSendString(nyTb,NULL,0,NULL);
    //PlaySoundW("c:\\ding.wav", NULL, SND_FILENAME);
    //mciSendStringA("c:\\ding.wav" ,NULL,0,NULL);
    
    return 0;
}
А с другими примерами буду ещё разбираться.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
29.11.2011, 15:03     Проигрывание mp3 #15
что мешает писать в коментах просто по русски?
fair7
8 / 8 / 0
Регистрация: 31.12.2010
Сообщений: 81
02.12.2011, 00:21     Проигрывание mp3 #16
Я получил исчерпывающий ответ

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <conio.h> // KOMnU7UTCR B Dev-C++ 4.9.9.2
#include <windows.h>// CHA4A7A DO7JEH 5bITb <windows.h>
// A nOTOM <mmsystem.h>
#include <mmsystem.h>//sndPlaySound
 
#pragma comment(lib, "winmm.lib")// 5E3 -)TOrO HE PA5OTAET
 
int main()
{
  //  wchar_t nyTb[]=L"1.wav";// TAM, rDE "*.exe"
    char nyTb[]="1.wav";// TAM, rDE "*.exe"
    PlaySound(nyTb, NULL, SND_FILENAME);    
    _getch();
    PlaySoundA("2.wav", NULL, SND_FILENAME);
    _getch();
    PlaySound("1.wav", NULL, SND_FILENAME);
    _getch();
 
      
    // HE PA5OTAET
    //    mciSendString(nyTb,NULL,0,NULL);
    //    mciSendStringA("2.wav" ,NULL,0,NULL);
    //    PlaySound(nyTb, NULL, SND_FILENAME);  
    //    PlaySound(L"1.wav", NULL, SND_FILENAME); 
    //    PlaySoundW("c:\\ding.wav", NULL, SND_FILENAME);    
    return 0;
}
/*
В самом Dev выбираешь Сервис-Параметры компилятора.
 Ставишь галочку в Добавить эти команды к командной строке компоновщика.
 В окошко ниже прописываешь строчку -lwinmm.
 Скачиваешь файлик winmm.lib и кидаешь его в C:Dev-Cpplib
(либо в то место где установлен Dev).
 Проигрывать можно файлы формата .wav В исходниках пишешь PlaySound("<name>.wav", , *); В кавычках - название твоего звукового файла.
 звездочки - это параметры воспроизведения.
 Я обычно ставлю PlaySound("sound.wav", NULL, SND_FILENAME|SND_ASYNC|SND_LOOP);
 это для воспроизведения.
 Остановить проигрывание функция PlaySound(NULL, NULL, SND_FILENAME);
*/
kwim
4 / 4 / 1
Регистрация: 22.04.2013
Сообщений: 33
27.08.2013, 22:25     Проигрывание mp3 #17
Мне нужно ,чтобы при нажатии на кнопку(все равно какую) играл звук, как можно реализовать воспроизведение?
castaway
Эксперт С++
4841 / 2980 / 367
Регистрация: 10.11.2010
Сообщений: 11,012
Записей в блоге: 10
Завершенные тесты: 1
27.08.2013, 22:35     Проигрывание mp3 #18
Это что, тема "пишите-кто-что-хотите" ? Что за сброд примитивных задач а-ля "помогите" !?
fair7
8 / 8 / 0
Регистрация: 31.12.2010
Сообщений: 81
11.08.2015, 21:21     Проигрывание mp3 #19
Цитата Сообщение от OstapBender Посмотреть сообщение
что мешает писать в коментах просто по русски?
Потому что когда переключаешься шрифтами в Qt - комп тормозит, вот и образовалась такая привычка.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.06.2016, 15:12     Проигрывание mp3
Еще ссылки по теме:

Проигрывание радио в консоли (перевести из C#) C++
Изменение громкости mp3 C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Oleg Pridarun
 Аватар для Oleg Pridarun
1 / 1 / 1
Регистрация: 16.06.2016
Сообщений: 46
16.06.2016, 15:12     Проигрывание mp3 #20
...

Добавлено через 2 минуты
Цитата Сообщение от igorrr37 Посмотреть сообщение
так попробуй
C++
1
2
3
4
5
6
7
#include <windows.h>
#pragma comment(lib, "winmm.lib")
 
int main(){
    mciSendString("play D:\\файл.mp3 wait", NULL, 0, NULL);
    return 0;
}
а что на название файла менять надо?
Yandex
Объявления
16.06.2016, 15:12     Проигрывание mp3
Ответ Создать тему
Опции темы

Текущее время: 08:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru