PDA

View Full Version : ذخیره و پخش صدا



iranrose63
پنج شنبه 01 دی 1390, 08:06 صبح
من میخوام یه فایل صوتی(با هر فرمتی) رو تو DB ذخیره کنم از کد زیر برای این کار استفاده میکنم


byte[] stream=File.ReadAllBytes(//my file pah);

سپس stream را در DB ذخیره میکنم تا اینجا مشکلی ندارم حالا می خوام این فایل رو در برنامه پخش کنم


byte[] stream=GetDataFromSQL();
MemoryStream ms=new MemoryStram(stream);
SoundPlayer player=new SoundPlayer();
ms.Position=0;
Player.Stream=null;player.stream=ms;
player.Play();


ولی به من خطا میده the wave header is corrupt
چه طور میتونم خطا رو رفع کنم

farashah_jalal
پنج شنبه 01 دی 1390, 08:49 صبح
با سلام
برای پخش صدا های ذخیره شده با فرمت های مختلف می تونید از mediaelement استفاده کنید.
لینک زیر می تونه بهتون کمک کنه
http://www.c-sharpcorner.com/uploadfile/dpatra/media-element-in-wpf/

iranrose63
پنج شنبه 01 دی 1390, 09:13 صبح
کد من در ViewModel نوشته شده و من قصد استفاده از mediaplayer رو ندارم چون فقط روی سیستم هایی که windowsMediaPlayer 10 به بالا نصب باشه قابل استفاده است

farashah_jalal
پنج شنبه 01 دی 1390, 12:18 عصر
اگه کد شما در view modelباشه با بایند کردن مقدار به پراپرتی source در Mediaelament می تونید این کار رو انجام بدید.

به این صورت

<Button Command="{x:Static local:Commands.ShowVideoCommand}" Margin="20" CommandParameter="{Binding}" Height="72" Width="96">
<MediaElement LoadedBehavior="Manual" Name="alertVideo" Source="{Binding VideoUri, NotifyOnSourceUpdated=True, NotifyOnTargetUpdated=True}"
TargetUpdated="OnTargetUpdated"
MediaEnded="OnMediaEnded"
Loaded="OnLoaded" />
</Button>


اما sound palyer فقط فرمت wav رو پخش می کنه.