delphi4arab منتديات دلفي للعرب

نسخة كاملة : مشكلة عند أستدعاء الصوت فى الفايرمونيكى
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
[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
ابحث عن طريقة اخرى...
السلام عليكم
يمكنك تجريب ZeroPlayer لا اعلم ان كان يشغل الصوت كنت اشغل عليه streaming يمكنك التعديل عليه او اضافة واحد عن طريق الجافا ...

https://www.dropbox.com/s/7r2kxs9jazzqo3...i.zip?dl=0