如何直接播放音频文件(mp3,wav等)而无需关联应用程序?

6

我还需要能够控制它的音量。另外,如何控制系统声音的音量,以检测低音量或静音状态?

5个回答

2

使用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;

2
如果这是用于非商业用途,BASS 库是免费的,并且可以提供您所需的控制。 3DBuzz有免费的视频教程,其中之一是创建您自己的MP3播放器。它们在主页的视频类别列表中。

1

看一下这篇文章:Delphi的第一个MP3播放器。它使用TMediaPlayer来播放mp3文件。虽然不完全符合你的要求,但是作为一个非常好的起点。


0

只需使用MM API(MSDN和Google上有大量示例)


-3
char *mp3FilePath    = ...   ;
char *workingDirPath = ...   ;
ShellExecute(hwnd, "open", mp3FilePath, NULL, workingDirPath, SW_SHOWNORMAL);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接