Функциональное программирование не заменяет шаблоны разработки. Шаблоны разработки не могут быть заменены.
Шаблоны просто существуют; они появлялись со временем. Книга GoF формализовала некоторых из них. Если новые шаблоны обнаруживаются, поскольку разработчики используют языки функционального программирования, который является захватывающим материалом, и возможно будут книги, записанные о них также.
Прочтите эту статью: Ваш первый MP3-плеер Delphi . Он использует TMediaPlayer для воспроизведения файлов mp3. Не совсем то, что вам нужно, но очень хорошая отправная точка.
Просто используйте API MM (тонны примеров в MSDN и Google)
Воспользуйтесь ссылкой Shoban, чтобы узнать, как воспроизводить звук.
Вот как можно регулировать громкость звука для устройств:
uses MMSystem;
type
TVolumeRec = record
case Integer of
0: (LongVolume: Longint) ;
1: (LeftVolume, RightVolume : Word) ;
end;
const DeviceIndex=5
{0:Wave
1:MIDI
2:CDAudio
3:Line-In
4:Microphone
5:Master
6:PC-loudspeaker}
procedure SetVolume(aVolume:Byte) ;
var
Vol: TVolumeRec;
begin
Vol.LeftVolume := aVolume shl 8;
Vol.RightVolume:= Vol.LeftVolume;
auxSetVolume(UINT(DeviceIndex), Vol.LongVolume) ;
end;
function GetVolume:Cardinal;
var
Vol: TVolumeRec;
begin
AuxGetVolume(UINT(DeviceIndex),@Vol.LongVolume) ;
Result:=(Vol.LeftVolume + Vol.RightVolume) shr 9;
end;
Если это некоммерческое использование, библиотеки BASS бесплатны и дают вам необходимый контроль.
На сайте есть бесплатные видеоуроки. 3DBuzz , одна из которых - создание собственного MP3-плеера. Они находятся в списке категорий видео на первой странице.
char *mp3FilePath = ... ;
char *workingDirPath = ... ;
ShellExecute(hwnd, "open", mp3FilePath, NULL, workingDirPath, SW_SHOWNORMAL);