2017-04-18 2 views
0

Ich habe den folgenden Code:How To Play Sound auf Android Firemonkey

uses 
    MMSystem; 

procedure TForm3.AddSound; 
var 
    hFind, hRes: THandle; 
    Song: PChar; 
begin 
    hFind := FindResource(HInstance, 'Resource_1', RT_RCDATA); 
    if hFind <> 0 then begin 
    hRes:=LoadResource(HInstance, hFind); 
    if hRes <> 0 then begin 
     Song:=LockResource(hRes); 
     if Assigned(Song) then SndPlaySound(Song, snd_ASync or snd_Memory); 
     UnlockResource(hRes); 
    end; 
    FreeResource(hFind); 
    end; 
end; 

Es funktioniert in Windows gut, wenn in der OnClick Ereignis einer Schaltfläche Aufruf dieser Prozedur, aber der gleiche Code funktioniert nicht für Android. Ich erhalte die folgende Fehlermeldung:

[DCC Fatal Error] Unit3.pas(8): F2613 Unit 'MMSystem' not found.

Antwort

1

Dieser Code nicht auf Android funktioniert, weil MMSystem keine plattformübergreifende Einheit in der Bibliothek ist Firemonkey. Es ist stattdessen eine Windows-Einheit in der VCL-Bibliothek. Mobile Projekte müssen nur FireMonkey und nicht VCL verwenden.

Um Sounds auf Android zu spielen, sehen Sie sich die Komponente TMediaPlayer von FireMonkey an. Es kann jedoch keine Audiodaten von Ressourcen wiedergeben. Daher müssen Sie die Audiodatei an der Seite Ihrer App bereitstellen und stattdessen aus der Datei abspielen.

Weitere Informationen finden Sie in der Dokumentation Audio-Video in FireMonkey von Embarcadero.

+0

Jede andere Option oder Möglichkeit gibt es von Ressource zu spielen. Vielen Dank. – Raj

+0

Danke seine Arbeit .. – Raj

+0

@Raj - wenn die Antwort half, Ihr Problem zu lösen, bitte markieren Sie es als akzeptiert. – Rohit