Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.92/26: Рейтинг темы: голосов - 26, средняя оценка - 4.92
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
1

Воспроизведение MIDI файла

21.05.2011, 19:45. Показов 5182. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Ищу максимально короткий (и обязательно без библиотек) способ, как воспроизвести MIDI файл из Шарпа.

Такой код не сработал, хотя его рекомендуют на MSDN'e:
C#
1
2
3
4
5
6
using (var ms = new System.IO.MemoryStream(Properties.Resources.midi))
            using( var sp = new System.Media.SoundPlayer(ms))
            {
                sp.Load();
                sp.PlayLooping();
            }

Насколько я знаю, существует способ сделать через WInAPI, не подскажете?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2011, 19:45
Ответы с готовыми решениями:

Воспроизведение файла
Подскажите как воспроизвести музыкальный файл(какой формата он должен быть wav mp3), сам...

Воспроизведение звука из файла
Ребят надо чтобы при нажатии на кнопку был звук (пик) короткий и чтобы не воспроизводился из...

Воспроизведение файла из ресурсов
public static extern long PlaySound(String lpszName, long hModule, long dwFlags); ...

Воспроизведение музыки из файла Res
Нужен код который будет воспроизводить звук/музыку в формате Mp3/Wav из ресурса с расширением Res....

10
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
21.05.2011, 21:40 2
посмотрите здесь
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
21.05.2011, 21:48  [ТС] 3
А что я должен был там увидеть? О_о
Я нашел beep, мне, получается надо ручками переводить MIDI в код по-вашему?
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
21.05.2011, 22:08 4
вы бы поиск использовали. вот тут есть проигрывание мидяшки на ДиректИксе
если возникнут вопросы как подключать и где брать библиотеку - листайте страницы, там есть
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
21.05.2011, 22:22  [ТС] 5
Цитата Сообщение от Koran Посмотреть сообщение
вы бы поиск использовали. вот тут есть проигрывание мидяшки на ДиректИксе
если возникнут вопросы как подключать и где брать библиотеку - листайте страницы, там есть
Я не случайно написал:

Цитата Сообщение от Killster Посмотреть сообщение
(и обязательно без библиотек)
Я посмотрел возможные варианты решения данной проблемы в интернете и на форуме.
0
Заблокирован
21.05.2011, 22:29 6
C#
1
2
3
4
5
6
7
8
9
using WMPLib;// добавить ссылку на вкладке COM на wmp.dll
    ......................................................................................
 
        private void button1_Click(object sender, EventArgs e)
        {
            WindowsMediaPlayer wmp = new WindowsMediaPlayer();
            wmp.URL = System.IO.Path.Combine(Application.StartupPath, "sound.mid");
            wmp.controls.play();
        }
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
21.05.2011, 22:42  [ТС] 7
А из ресурсов?
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
21.05.2011, 23:11 8
а вам так критично воспроизвести инструментарием WinAPI и именно из ресурсов?
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
21.05.2011, 23:13  [ТС] 9
Цитата Сообщение от Koran Посмотреть сообщение
а вам так критично воспроизвести инструментарием WinAPI и именно из ресурсов?
Критично:
-Воспроизвести из ресурсов
-Не использовать дополнительных библиотек
-Не занять при этом тысячу строк кода
0
мастер топоров
916 / 741 / 101
Регистрация: 16.08.2009
Сообщений: 1,476
21.05.2011, 23:53 10
ну тогда вот вам WinAPI метод:
C#
1
2
[DllImport("winmm.dll")] 
static extern Int32 mciSendString(String command, StringBuilder buffer, Int32 bufferSize, IntPtr hwndCallback);
но
Код
    ' Requires COM-Object : DirectX7
он тоже требует библиотеки

Цитата Сообщение от Killster Посмотреть сообщение
А из ресурсов?
подозреваю если вы будете воспроизводить с помощью медиаплеера, то вам придется либо файл ложить отдельно в папочку, либо же ложить в ресурсы, но перед воспроизведением генерировать миди-файл и только тогда его воспроизводить, но это костыль.

System.Media.SoundPlayer воспроизводит волновые файлы - вавки
0
185 / 188 / 17
Регистрация: 26.11.2010
Сообщений: 511
22.05.2011, 10:09  [ТС] 11
Не к проекту подключенные - не так важно. У меня суть в том как использовать этот метод для файла из ресурсов без костыля с генерацией

Добавлено через 10 часов 12 минут
Черт, а как тогда реализовать такой "костыль"? Через MemoryStream?
0
22.05.2011, 10:09
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.05.2011, 10:09
Помогаю со студенческими работами здесь

Циклическое воспроизведение wav-файла
Добрый день имеется wav файл если он оканчивается должен перезапуститься

Воспроизведение Wave файла с помощью NAudio
Доброго время суток. Помогите пожалуйста. Файл прикреплён. Не могу понять как исправить данную...

Воспроизведение wav-файла вместе с загрузкой формы
Здравствуйте. Как можно воспроизвести wav-файл вместе с загрузкой формы? Сейчас у меня сначала...

Выполнить воспроизведение файла без остановки работы программы
public static extern long PlaySound(String lpszName, long hModule, long dwFlags); Есть такой...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru