[size=small]عندى مشكله بعانى منها منذ فترة طويلة وهى عند أستخدام الموسيقى او الصوت بيأثر على حركه الرسوم المتحركه وهذا الشئ تعبنى جداّ بمعنى لما تضغط على زر تشغيل الموسيقى الرسوم والاشكال بقف او بتهنج انا بتحدث فى الاندرويد لكن بالنسبة لويندز الامر تمام وحاولت استدعاء الصوت بطرق كثيرة مختلفة ولكن دائماّ بتأثر على السلب فى الصور فى المرفقات مجرد مثال بسيط لمربعين واحد يدور حول نفسه وعند الضغط على المربع الاخر بيتوقف المربع المتحرك [/size]
السلام عليكم
تبدو كانها مشكلة موارد
حاول تغيير طريقة العرص/التحريك
اندرويد يختلف عن ويندوز
نعم , لذلك واضع الاستفسار حتى اجد طريقة مناسبة
كود :
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms3D, FMX.Types3D, FMX.Forms, FMX.Graphics,
FMX.Dialogs, System.Math.Vectors, FMX.Media, FMX.Controls3D, FMX.Objects3D
,System.IOUtils, FMX.Ani;
type
TForm1 = class(TForm3D)
Rectangle3D1: TRectangle3D;
Rectangle3D2: TRectangle3D;
MediaPlayer1: TMediaPlayer;
FloatAnimation1: TFloatAnimation;
MediaPlayer2: TMediaPlayer;
procedure Rectangle3D1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.Rectangle3D1Click(Sender: TObject);
var
myplayer:TMediaPlayer;
mpath:string;
begin
{$IFDEF ANDROID} mpath:=TPath.GetDocumentsPath + PathDelim + 'song_game.mp3'; {$ELSE}
{$IFDEF ios} mpath:=TPath.GetDocumentsPath + PathDelim + 'song_game.mp3'; {$ELSE}
{$IFDEF MSWINDOWS}
mpath:='song_game.mp3';
{$EndIf} {$EndIf} {$EndIf}
MediaPlayer1.Clear;
Application.ProcessMessages;
MediaPlayer1.Stop;
// MediaPlayer1.DisposeOf;
//MediaPlayer1:=TMediaPlayer.Create(self);
MediaPlayer1.FileName:=mpath;
MediaPlayer1.Play();
end;
end.
كود :
unit Unit1;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms3D, FMX.Types3D, FMX.Forms, FMX.Graphics,
FMX.Dialogs, System.Math.Vectors, FMX.Media, FMX.Controls3D, FMX.Objects3D
,System.IOUtils, FMX.Ani;
type
TForm1 = class(TForm3D)
Rectangle3D1: TRectangle3D;
Rectangle3D2: TRectangle3D;
MediaPlayer1: TMediaPlayer;
FloatAnimation1: TFloatAnimation;
MediaPlayer2: TMediaPlayer;
procedure Rectangle3D1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.Rectangle3D1Click(Sender: TObject);
var
myplayer:TMediaPlayer;
mpath:string;
begin
{$IFDEF ANDROID} mpath:=TPath.GetDocumentsPath + PathDelim + 'song_game.mp3'; {$ELSE}
{$IFDEF ios} mpath:=TPath.GetDocumentsPath + PathDelim + 'song_game.mp3'; {$ELSE}
{$IFDEF MSWINDOWS}
mpath:='song_game.mp3';
{$EndIf} {$EndIf} {$EndIf}
MediaPlayer1.Clear;
Application.ProcessMessages;
MediaPlayer1.Stop;
// MediaPlayer1.DisposeOf;
//MediaPlayer1:=TMediaPlayer.Create(self);
MediaPlayer1.FileName:=mpath;
MediaPlayer1.Play();
end;
end.
لا تستخدم MediaPlayer
ابحث عن طريقة اخرى...