Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Способы параллельного воспроизведения звука, описания команд 
:(
    Опции темы
yogin
Дата 3.5.2008, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Очень прошу помочь или пояснить следующие моменты параллельного проигрывания музыкальных файлов, возьмём самые лёгкие - wav. Я долго искал возможности одновременного проигрыша, но нашёл только следующее:
Код

uses  
  ... MMSystem; 

...
 
procedure SendMCICommand(Cmd: string);  
var  
  RetVal: Integer;  
  ErrMsg: array[0..254] of char;  
begin  
  RetVal := mciSendString(PChar(Cmd), nil, 0, 0);  
  if RetVal <> 0 then  
  begin  
    {get message for returned value}  
    mciGetErrorString(RetVal, ErrMsg, 255);  
    MessageDlg(StrPas(ErrMsg), mtError, [mbOK], 0);  
  end;  
end;  

procedure TForm1.FormCreate(Sender: TObject);
begin
    SendMCICommand('open waveaudio shareable');  
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
    SendMCICommand('close waveaudio');  
end;

procedure TForm1.Button1Click(Sender: TObject);  
begin  
   SendMCICommand('play "C:\xyz\BackgroundMusic.wav"');
end;


Пример хороший, только совершенно неполный.
Как с помощью такого способа:
Проигрывать файл из ресурсов?
Проигрывать файл циклически? - аналог playsound('sound.wav', 0, SND_FILENAME Or SND_ASYNC Or SND_NODEFAULT Or SND_LOOP)
Прекращать проигрывание файла?

Вообщем я хотел бы увидеть все возможные команды процедуры SendMCICommand();, которые нигде не нашёл  smile 
Буду премного благодарен!
P.S.  smile 


Это сообщение отредактировал(а) yogin - 3.5.2008, 23:18
PM MAIL   Вверх
Qu1nt
Дата 4.5.2008, 09:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 602
Регистрация: 13.1.2007

Репутация: 2
Всего: 50



Подсмотри реализацию TMediaPlayer (MPlayer.pas).
PM MAIL   Вверх
yogin
Дата 4.5.2008, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Посмотрел, видел приминение типа: 
mciSendCommand( FDeviceID, mci_Step, FFlags, Longint(@AStepParm) ),
но нет времени разбираться в написанных параметрах. Хотелось бы просто чёткого ответа или ссылки на чёткий ответ.

Это сообщение отредактировал(а) yogin - 4.5.2008, 20:47
PM MAIL   Вверх
yogin
Дата 10.5.2008, 11:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 23.12.2007

Репутация: нет
Всего: нет



Узнал, что кроме команды 'open'  так же имеют силу следующие:
' stop "TRACK.WAV" '     - останавливает проигрывание указанного трека
' pause "TRACK.WAV" '   - пауза
' resume "TRACK.WAV" ' - продолжение после паузы
От сюда следует, что зацикливание можно сделать с помощью таймера времени трэка, да и вообще если трэк играет, то вызов его командой play при его проигрыше, ничего не даст, он просто будет продолжать играть.
Вообщем как у TMediaPlayer. но так и не узнал как пишится команда, чтобы проигрывать из ресурсов... smile 
Или аналогичный вопрос, исходя из анализа сказанного, - может-ли TMediaPlayer проигрывать файлы из ресурсов?

Помогите-подскажите, оч прошу...

Это сообщение отредактировал(а) yogin - 10.5.2008, 11:09
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0862 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.