Есть ли какие-либо уроки или примеры того, как воспроизводить WAV-файлы на Mac из приложения, созданного Delphi XE2 FireMonkey?Есть ли WAV-звук на Mac с Delphi XE2?
Я спрашиваю потому, что этот код не работает:
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. Могу ли я предложить некоторые рабочие примеры воспроизведения звука Delphi XE2 на Mac?
Я предполагаю, что формат записи в формате fwaves точно не соответствует формату фактического файла WAV. Попробуйте использовать необработанные байты из файла. –
Пробовал это, а также попробовал initFromFile (path_to_aiff) .. Ничего не помогло. Поэтому я, наконец, переключился на OpenAL. – Kromster