Как я могу воспроизводить звуковые файлы (mp3, wav и т. Д.) Напрямую, без связанного приложения? - PullRequest
6 голосов
/ 17 июля 2009

Мне нужно также иметь возможность контролировать его громкость. Кроме того, как я могу контролировать громкость звука в системе, обнаруживать низкую громкость или отключать звук?

Ответы [ 5 ]

2 голосов
/ 17 июля 2009

Воспользуйтесь ссылкой Шобана для воспроизведения звука.

Вот как можно регулировать громкость звука для устройств:

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;
2 голосов
/ 17 июля 2009

Если это некоммерческое использование, библиотеки BASS бесплатны и предоставляют вам необходимый контроль.

На 3DBuzz есть бесплатные видеоуроки, одним из которых является создание собственного MP3-плеера. Они находятся в списке категорий видео на первой странице.

1 голос
/ 20 июля 2009

Посмотрите на эту статью: Ваш первый MP3-плеер Delphi . Он использует TMediaPlayer для воспроизведения mp3-файлов. Не совсем то, что вы хотите, но очень хорошая отправная точка.

0 голосов
/ 18 июля 2009

Просто используйте MM apis (тонны образцов в MSDN и Google)

0 голосов
/ 17 июля 2009
char *mp3FilePath    = ...   ;
char *workingDirPath = ...   ;
ShellExecute(hwnd, "open", mp3FilePath, NULL, workingDirPath, SW_SHOWNORMAL);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...