2016-01-22 2 views
0

Я использую TMediaPlayer и следующую процедуру:Delphi XE не может воспроизводить звуки на Android устройства

procedure TForm1.PlayAudio(ResourceID: string); 
var 
    ResStream: TResourceStream; 
    TmpFile: string; 
begin 
    ResStream := TResourceStream.Create(HInstance, ResourceID, RT_RCDATA); 
    try 

    //TmpFile := TPath.Combine(TPath.GetTempPath, 'tmp.wav'); 
    TmpFile :=(System.IOUtils.TPath.GetDocumentsPath + System.SysUtils.PathDelim + 'tmp.wav'); 

    ResStream.Position := 0; 
    ResStream.SaveToFile(TmpFile); 
    MediaPlayer1.FileName := TmpFile; 

    MediaPlayer1.Play; 

    finally 
    ResStream.Free; 
    end; 
end; 

Для воспроизведения звуков из моих ресурсов, как это: PlayAudio('Resource_1');, которые являются .wav и .mp3

It отлично работает в Windows, но когда я развожу его на Android, он не будет воспроизводить какие-либо звуки, и я все еще не могу найти хорошо объясненный способ воспроизведения звуков на андроиде из моих ресурсов. Каков наилучший способ сделать это?

+3

Delphi XE не предназначен для Android. Какую версию Delphi вы действительно используете? –

+1

Файлы ресурсов поддерживаются только на платформе Windows [Файлы ресурсов] (http://docwiki.embarcadero.com/RADStudio/Seattle/en/Resource_Files_Support) –

+1

На Android вам необходимо развернуть аудиофайл в качестве актива, t встроить его в исполняемый файл приложения. Затем ваше приложение может использовать имя файла развернутого аудиофайла по мере необходимости. [Загрузка и развертывание файлов] (http://docwiki.embarcadero.com/RADStudio/Seattle/en/Creating_an_Android_App#Loading_and_Deploying_Files) –

ответ

0

Спасибо @RemyLebeau за указание на то, что мне нужно, чтобы найти свой путь к ресурсам, используя

TPath.Combine(TPath.GetDocumentsPath, 'filename') { Internal } 
TPath.Combine(TPath.GetSharedDocumentsPath, 'filename') { External } 

если Im развертывания для Android, но файлы по-прежнему не мог бежать, а потом я понял, что я использую .mp3 и .wav. Я преобразовал их в .3gp, и теперь звук работает отлично на Android.

 Смежные вопросы

  • Нет связанных вопросов^_^