gpt4 book ai didi

macos - Delphi XE2 在 Mac 上可以播放 WAV 声音吗?

转载 作者:行者123 更新时间:2023-12-03 15:13:03 24 4
gpt4 key购买 nike

是否有关于如何通过 Delphi XE2 FireMonkey 构建的应用程序在 Mac 上播放 WAV 文件的教程或示例?

我这样问是因为此代码不起作用:

var
//fWaves head and data is initialized and plays properly on Win through OpenAL
fWaves: array of record
Head: TWAVHeaderEx;
Data: array of byte;
end;
D: NSData;
N: NSSound;
begin
D := TNSData.Wrap(TNSData.Create.initWithBytes(@fWaves[0].Head, SizeOf(fWaves[0].Head) + fWaves[0].Head.DataSize));
ShowMessage(IntToStr(D.length)); //--Length is correct
N := TNSSound.Wrap(TNSSound.Create.initWithData(D));
ShowMessage(FloatToStr(N.Duration)); //--Displays 0
if N.play then
ShowMessage('Yes')
else
ShowMessage('No'); //--Always returns NO
end;

我正在从内存加载 WAV 文件头和数据,它在 OpenAL 中运行良好。所以问题出在我的 NSSound 使用中的某个地方。谁能提供一些在 Mac 上运行 Delphi XE2 声音播放的示例吗?

最佳答案

Freepascal/Lazarus 有一个名为“macosall.pas”的单元,它是 os-x C++ 头文件到 pascal 的翻译,允许您调用 native os-x 函数。

遗憾的是,这个单元不是 delphi 的一部分,但是通过打开该单元,您可以将函数声明复制到 delphi,它应该可以工作。

我希望您能在 Quicktime API 中找到您需要的东西,它是苹果机器上媒体的中心枢纽。另请查看Apple developer并查看文档。

关于macos - Delphi XE2 在 Mac 上可以播放 WAV 声音吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9251058/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com