Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Вниз

Как проиграть MIDI ?   Найти похожие ветки 

 
MIDI   (2005-12-29 01:56) [0]

Нужен простой способ, без коммерческих библиотек типа BASS или MOD.

Проигрывать нужно ИЗ ПОТОКА, а не из файла на диске. Что лучше использовать ?


 
Bogdan1024 ©   (2005-12-29 02:25) [1]

MediaPlayer 8)


 
MIDI   (2005-12-29 02:49) [2]

ИЗ ПОТОКА


 
MIDI   (2005-12-29 05:20) [3]

OpenAL поддерживает MIDI ? Вроде нет, или всё же поддерживает ?
A mp3, a s3m и ему подобные поддерживает ?


 
MIDI   (2005-12-29 05:30) [4]

OpenAL поддерживает MIDI ? Вроде нет, или всё же поддерживает ?
A mp3, a s3m и ему подобные поддерживает ?


 
MIDI   (2005-12-29 05:56) [5]

Мда-а-а-а. OpenAL поддерживает только Wav. Это сильно.

А как же миди то проиграть ?


 
MIDI   (2005-12-29 05:56) [6]

Мда-а-а-а. OpenAL поддерживает только Wav. Это сильно.

А как же миди то проиграть ?


 
Cash ©   (2005-12-29 09:44) [7]

s3m, то есть Storm mix file поддерживает только сама эта прога (Storm)
Перегоняй ее в xm или ogg, тогда толк будет.
И вааще, этот вопрос не сюда, а в медиа конференцию!


 
miek ©   (2005-12-29 10:14) [8]

Если поток - MemoryStream, т.е. можно взять указатель на начало звука, то пользуй PlaySound...


 
JUS ©   (2005-12-29 13:29) [9]

проиграть можно миди в карты с хорошим игроком:)


 
JUS ©   (2005-12-29 13:32) [10]

Гдето у меня была компонента ActiveX, помоему "MP3playlist" или еще как то, если найду щас то выложу, много форматов проигрывает.


 
Don Nikola   (2005-12-29 18:00) [11]

2MIDI:

Проиграть миди из памяти весьма проблемно, по крайней мере в win9x, или проигрывать с диска, или проигрывать через fmod/bass/etc, или писать самому плеер миди-событий.

2Cash:

Я конечно дико извиняюсь, но я почему-то последние лет 10 думал что s3m это от Scream Tracker 3 или сейчас появился новый формат?


 
MIDI   (2005-12-30 06:14) [12]

miek ©   (29.12.05 10:14) [8]

Если поток - MemoryStream, т.е. можно взять указатель на начало звука, то пользуй PlaySound...


Да MemoryStream. А как ? Можно пример с PlaySound ?

> Don Nikola   (29.12.05 18:00) [11]
> или проигрывать через fmod/bass/etc,


Они платные.

> JUS ©   (29.12.05 13:32) [10]
> Гдето у меня была компонента ActiveX


ActiveX не надо !


 
Midi   (2005-12-30 06:29) [13]

Нашёл пример ( надеюсь правильный, так как ещё не пробовал ) :

procedure TForm1.PlaySndFromMemoryClick(Sender: TObject);
var
 f: file;
 p: pointer;
 fs: integer;
begin
 AssignFile(f, "hello.mid");
 Reset(f, 1);
 fs := FileSize(f);
 GetMem(p, fs);
 BlockRead(f, p^, fs);
 CloseFile(f);
 sndPlaySound(p, SND_MEMORY or SND_SYNC);
 FreeMem(p, fs);
end;


А теперь главное, как досрочно остановить проигрываемый звук ?


 
Midi   (2005-12-30 06:29) [14]

Нашёл пример ( надеюсь правильный, так как ещё не пробовал ) :

procedure TForm1.PlaySndFromMemoryClick(Sender: TObject);
var
 f: file;
 p: pointer;
 fs: integer;
begin
 AssignFile(f, "hello.mid");
 Reset(f, 1);
 fs := FileSize(f);
 GetMem(p, fs);
 BlockRead(f, p^, fs);
 CloseFile(f);
 sndPlaySound(p, SND_MEMORY or SND_SYNC);
 FreeMem(p, fs);
end;


А теперь главное, как досрочно остановить проигрываемый звук ?


 
Don Nikola   (2005-12-30 10:09) [15]

2MIDI:

Что-то я совсем склерозом заболел ;)) Проще всего использовать DirectMusic - точно играет миди из памяти, сам писал такую библиотечку. Играет wav и midi. Есть начиная с DX8 кажеться.


 
Midi   (2005-12-31 01:33) [16]

> Don Nikola   (30.12.05 10:09) [15]
>
> 2MIDI:
>
> Что-то я совсем склерозом заболел ;)) Проще всего использовать DirectMusic


Он у меня не проигрывает Midi. Почему - не знаю. В общем надо без него.

Приведённый выше код запустить так и не удалось. Если кто знает как - дайте пример.


 
Don Nikola   (2005-12-31 06:47) [17]

2Midi:

Могу скинуть мои потуги с DMusic.
Если без DX, то смотри три варианта выше. Стандартно по-моему нельзя или не во всех виндах. Если вдруг захочешь писать свой плеер, то смотри в сторону функций начинающихся с midiOut.

2all: с Новым Годом


 
GuAV ©   (2005-12-31 12:10) [18]


> А теперь главное, как досрочно остановить
> проигрываемый звук ?

Во первых, PlaySound заместо sndPlaySound.
Во вторых, SND_ASYNC заместо SND_SYNC, чтобы получить управление до конца воспроизведения.
Тогда остановка - флаг SND_PURGE.


 
Cash ©   (2006-01-04 13:07) [19]

Вон, на закладке System есть компонент TMediaPlayer.
По сути это медиа плеер винды. Проигрывай через него.
Не кроссплатформенную штуковину же ты делаешь!
А TMediaPlayer умеет все то, что умеет сам Windows Media Player.
(OLE всетаки)


 
palva ©   (2006-01-10 00:31) [20]

Поместить на форму WebBrowser и выполнить оператор
WebBrowser1.Navigate("about:<bgsound loop="0" src="c:\1000001.mid">");
Невидимым браузер сделать не удалось. Можно уменьшить его размеры и заслонить какой-нибудь кнопкой.
Не знаю, что будет затратнее по ресурсам плейер или браузер.


 
имя   (2006-01-13 03:24) [21]

Удалено модератором


 
имя   (2006-01-14 01:56) [22]

Удалено модератором


 
имя   (2006-01-16 04:16) [23]

Удалено модератором


 
имя   (2006-01-17 07:32) [24]

Удалено модератором


 
Кто то против?   (2006-01-18 02:31) [25]

PlaySound и sndPlaySound не проигрывают midi.


 
имя   (2006-01-24 03:29) [26]

Удалено модератором



Страницы: 1 вся ветка

Форум: "Media";
Текущий архив: 2006.06.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.01 c
2-1149608848
Iehbr
2006-06-06 19:47
2006.06.25
Что за глюк???


2-1149139006
Ezorcist
2006-06-01 09:16
2006.06.25
написание компонента от TClientSocket


15-1148914084
lobach
2006-05-29 18:48
2006.06.25
Папка windows


15-1148501900
Yorick1986
2006-05-25 00:18
2006.06.25
За сколько можно продать ноутбук


2-1149567037
Id
2006-06-06 08:10
2006.06.25
Загрузка из *.doc или *.rtf





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский