图片 1

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    ListBox1: TListBox;
    ListBox2: TListBox;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

uses MMSystem;

//设备列表; 指定设备时经常使用 WAVE_MAPPER 参数, 这样会自动选用合适的设备.
procedure TForm1.Button1Click(Sender: TObject);
var
  i: Integer;
  waveOutCaps: TWaveOutCaps;
  waveInCaps: TWaveInCaps;
begin
  ListBox1.Items.Add('音频输出设备列表:');
  for i := 0 to waveOutGetNumDevs do
  begin
    ZeroMemory(@waveOutCaps, SizeOf(TWaveOutCaps));
    waveOutGetDevCaps(i, @waveOutCaps, SizeOf(TWaveOutCaps));
    ListBox1.Items.Add(waveOutCaps.szPname);
  end;

  ListBox2.Items.Add('音频输入设备列表:');
  for i := 0 to waveInGetNumDevs do
  begin
    ZeroMemory(@waveInCaps, SizeOf(TWaveInCaps));
    waveOutGetDevCaps(i, @waveInCaps, SizeOf(TWaveInCaps));
    ListBox2.Items.Add(waveInCaps.szPname);
  end;
end;

//判断是否支持指定的 Wave 格式
procedure TForm1.Button2Click(Sender: TObject);
var
  fmt: TPCMWaveFormat;
begin
  fmt.wf.wFormatTag := WAVE_FORMAT_PCM;
  fmt.wf.nChannels := 2;
  fmt.wf.nSamplesPerSec := 22050;
  fmt.wf.nAvgBytesPerSec := 88200;
  fmt.wf.nBlockAlign := 4;
  fmt.wBitsPerSample := 16;

  if waveOutOpen(nil, 0, PWaveFormatEx(@fmt), 0, 0, WAVE_FORMAT_QUERY) = 0 then
    ShowMessage('第一个输出设备支持此格式');

  if waveInOpen(nil, 0, PWaveFormatEx(@fmt), 0, 0, WAVE_FORMAT_QUERY) = 0 then
    ShowMessage('第一个输入设备支持此格式');
end;

end.

MKVToolNix开发商Moritz Bunkus宣布现在可以下载MKVToolNix
14.0.0了,这是开源和跨平台MKV(Matroska)操作应用程序的主要版本。

有把格式支持的判断写成函数的, 如:

MKVToolNix 14.0.0是在MKVToolNix 13.0.0“The
Juggler”发布之后的一个月后发布的,添加了大量新功能和增强功能,以及许多错误修复和一些构建系统更改。该应用程序现在正式翻译成罗马尼亚语。


Moritz
Bunkus在发布公告中说:“对于软件包的维护者的变化:将程序新翻译成罗马尼亚语(ro.po),还有另外两个小小的变化。
“值得注意的是,某些功能自v9.7.0以来已被弃用。”

function IsFormatSupported(fmt: Pointer; DeviceId: DWORD): Boolean;
begin
  Result := (waveOutOpen(nil, DeviceId, PWaveFormatEx(fmt), 0, 0, WAVE_FORMAT_QUERY) = 0);
end;

另外,一些功能将在2018年的应用程序的第一个版本中从MKVToolNix中删除。其中包括mkvmerge选项“-identify-for-gui”,“-identify-verbose”,“-identification-format
verbose”和“
-identify-for-mmg“,以及用于所有命令行工具上的选项文件和专有格式。

MKVToolNix 14.0.0的新功能

MKVToolNix
14.0.0版本的亮点包括支持mkvmerge中每帧960个样本的AAC文件,支持mkvmerge的WAV阅读器中的Wave64文件,支持MKVToolNix
GUI章节编辑器中WebM文件中的章节,并支持WebM文件中的标签mkvpropedit。此版本开始,建立MKVToolNix的最低要求的Boost版本为1.49.0。

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图