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

Как в консоли проиграть музыку - C++

Восстановить пароль Регистрация
 
 
Рейтинг: Рейтинг темы: голосов - 71, средняя оценка - 4.75
vpnwz151
 Аватар для vpnwz151
10 / 11 / 1
Регистрация: 03.11.2011
Сообщений: 129
11.02.2012, 16:56     Как в консоли проиграть музыку #1
Вот и проблема мой код запускает проигрыватель, возник вопрос как сделать проигрывание в консоли?
И как задавать адрес файла самому?

C++
1
2
3
4
5
6
7
8
9
10
#include <windows.h>
 #include <iostream>
 int main ()
 {
     HINSTANCE result;
     result=ShellExecute(NULL,NULL,L"E:\\.mp3",NULL,NULL,SW_SHOWDEFAULT);
     if ((int)result<=32)
     std::cout << "Error!\nReturn value: " << (int)result << "\n";
     return 0;
 }
заранее спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.02.2012, 16:56     Как в консоли проиграть музыку
Посмотрите здесь:

C++ playsound(), как сделать фоновую музыку в игре
C++ Клавиши F1-F12 в консоли, и работа с мышкой в консоли
C++ Как проиграть mp3 с помощью VC++?
C++ Как добавить музыку в formy
C++ Как проиграть видео с YouTub'a?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
-=ЮрА=-
Заблокирован
Автор FAQ
15.02.2012, 11:26     Как в консоли проиграть музыку #21
Порывшись в своих старых постах откопал ссылку
Плеер
думаю пригодится
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
18.02.2012, 01:40     Как в консоли проиграть музыку #22
http://kachkarvv.org.ua/src-cplus-player.php
Zarik
3 / 3 / 0
Регистрация: 26.03.2012
Сообщений: 22
09.05.2012, 01:40     Как в консоли проиграть музыку #23
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
#include <windows.h>
#include <stdio.h>
#pragma comment (lib, "winmm.lib")
int main()
{
* * char szPath[MAX_PATH] = {0};
* * char mciStr[MAX_PATH] = {0};
* * printf("Enter FilePath : ");
* * scanf("%[^\n]",szPath);
* * sprintf(mciStr,"play %s wait",szPath);
* * if(mciSendString(mciStr, NULL, 0, NULL))
* * * * printf("mciSendString - PLAY\n");
* * else
* * * * printf("mciSendString - ERROR %s\n",strerror(GetLastError()));
* * system("pause");
* * return 0;
}
а как сделать, чтобы без ввода папки и файла, а чтобы в коде путь был? а то не могу
переделать никак
kravam
быдлокодер
 Аватар для kravam
1512 / 872 / 44
Регистрация: 04.06.2008
Сообщений: 5,271
09.05.2012, 01:48     Как в консоли проиграть музыку #24
Путь это строка символов, объяви её так в коде:
C++
1
char put [256]= "тут_пиши_путь_который_надо";
И всё будет круто.
-=ЮрА=-
Заблокирован
Автор FAQ
09.05.2012, 01:59     Как в консоли проиграть музыку #25
Zarik, вот так
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <windows.h>
#include <stdio.h> 
#pragma comment (lib, "winmm.lib")
int main()
{
    char szPath[] = "D:\\Test\\snd.mp3";
    char mciStr[MAX_PATH] = {0};
    sprintf(mciStr,"play %s wait",szPath);
    if(mciSendString(mciStr, NULL, 0, NULL))
        printf("mciSendString - PLAY\n");
    else
        printf("mciSendString - ERROR %s\n",strerror(GetLastError()));
    system("pause");
    return 0;
}
Zarik
3 / 3 / 0
Регистрация: 26.03.2012
Сообщений: 22
09.05.2012, 01:59     Как в консоли проиграть музыку #26
спасибо
-=ЮрА=-
Заблокирован
Автор FAQ
09.05.2012, 02:04     Как в консоли проиграть музыку #27
Цитата Сообщение от Zarik Посмотреть сообщение
sprintf("e.waw","play %s wait","D:\папка");
так некатит...
Конечно нет "e.waw" это строковый литерал и в него уже ничего не допишешь

Добавлено через 1 минуту
Zarik, код работает и с mp3. Вообще чтобы исключить гипотетические возможные проблеммы с кодировкой и путями с пробелами, предлагаю между этих строк
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
char szPath[] = "D:\\Test\\snd.mp3";
* * char mciStr[MAX_PATH] = {0};
втиснуть
C
1
GetShortPathName(szPath,szPath,strlen(szPath));
Zarik
3 / 3 / 0
Регистрация: 26.03.2012
Сообщений: 22
09.05.2012, 02:05     Как в консоли проиграть музыку #28
блин ошибка,
Ошибка 26 error C2664: mciSendStringW: невозможно преобразовать параметр 1 из "char [260]" в "LPCWSTR" d:\курсова\курсова клавіатурний тренажер\курсова клавіатурний тренажер\main.cpp 272 1
27 IntelliSense: аргумент типа "char *" несовместим с параметром типа "LPCWSTR" d:\курсова\курсова клавіатурний тренажер\курсова клавіатурний тренажер\main.cpp 272 19
C
1
if(mciSendString(mciStr, NULL, 0, NULL))
-=ЮрА=-
Заблокирован
Автор FAQ
09.05.2012, 02:07     Как в консоли проиграть музыку #29
Цитата Сообщение от Zarik Посмотреть сообщение
блин ошибка,
Ошибка 26 error C2664: mciSendStringW: невозможно преобразовать параметр 1 из "char [260]" в "LPCWSTR" d:\курсова\курсова клавіатурний тренажер\курсова клавіатурний тренажер\main.cpp 272 1
27 IntelliSense: аргумент типа "char *" несовместим с параметром типа "LPCWSTR" d:\курсова\курсова клавіатурний тренажер\курсова клавіатурний тренажер\main.cpp 272 19
- у тебя юникод в кодироке, сейчас сброшу проект, откроешь и всё будет гуд. Потом откопаю тебе ссылку почему у тебя в 2008-й или 2010-й студии такой косяк
-=ЮрА=-
Заблокирован
Автор FAQ
09.05.2012, 02:11     Как в консоли проиграть музыку #30
Zarik, теперь всё будет компилироваться
Миниатюры
Как в консоли проиграть музыку  
Вложения
Тип файла: rar PlaySnd.exe.rar (28.2 Кб, 17 просмотров)
Тип файла: rar PlaySnd_proj.rar (7.5 Кб, 20 просмотров)
-=ЮрА=-
Заблокирован
Автор FAQ
09.05.2012, 02:15     Как в консоли проиграть музыку #31
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
Потом откопаю тебе ссылку почему у тебя в 2008-й или 2010-й студии такой косяк
посмотри скриншот
Миниатюры
Как в консоли проиграть музыку  
Zarik
3 / 3 / 0
Регистрация: 26.03.2012
Сообщений: 22
09.05.2012, 02:41     Как в консоли проиграть музыку #32
сейчас посмотрю

Добавлено через 4 минуты
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
посмотри скриншот
это в 2008 visual studio?

Добавлено через 10 минут
блин, в десятои никак немогу найти...

Добавлено через 9 минут
ошибок уже нет, но не играет чет... пишет play, но звука нет...
-=ЮрА=-
Заблокирован
Автор FAQ
09.05.2012, 12:15     Как в консоли проиграть музыку #33
Цитата Сообщение от Zarik Посмотреть сообщение
ошибок уже нет, но не играет чет... пишет play, но звука нет...
- проверь правильность пути
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
char szPath[] = "D:\\Test\\snd.mp3";
я то ставил свой а ты свой ставишь, далее битрейт проигрываемого MP3 должен быть не более
128 кбит/сек.
По поводу
блин, в десятои никак немогу найти...
Нажми меню проект - Свойства проекта
Миниатюры
Как в консоли проиграть музыку   Как в консоли проиграть музыку  
Zarik
3 / 3 / 0
Регистрация: 26.03.2012
Сообщений: 22
09.05.2012, 13:15     Как в консоли проиграть музыку #34
-=ЮрА=-, кстати, там походу в условии еще должно быть отрецание, т.к. когода играло у меня - писало еррор, а когода не играло писало плей...
вот так должно быть
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <windows.h>
#include <stdio.h> 
#pragma comment (lib, "winmm.lib")
int main()
{
    char szPath[] = "D:\\waw\\1.mp3";
    GetShortPathName(szPath,szPath,strlen(szPath));
    char mciStr[MAX_PATH] = {0};
    sprintf(mciStr,"play %s wait",szPath);
    if(!mciSendString(mciStr, NULL, 0, NULL))
        printf("mciSendString - PLAY\n");
    else
        printf("mciSendString - ERROR %s\n",strerror(GetLastError()));
    system("pause");
    return 0;
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2012, 13:26     Как в консоли проиграть музыку
Еще ссылки по теме:

C++ считывание с консоли ( не с клавы, а именно с консоли)
Проиграть мелодию, встроенную в программу C++
C++ Проиграть мелодию «В лесу родилась елочка»

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

Или воспользуйтесь поиском по форуму:
Taras_Z
 Аватар для Taras_Z
100 / 84 / 2
Регистрация: 27.10.2010
Сообщений: 534
Записей в блоге: 2
09.05.2012, 13:26     Как в консоли проиграть музыку #35
кстати если интересно
http://www.cyberforum.ru/blogs/121299/blog251.html
Yandex
Объявления
09.05.2012, 13:26     Как в консоли проиграть музыку
Ответ Создать тему
Опции темы

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