PDA

View Full Version : چگونگی خواندن فایل صوتی به شکل خاص



orginal
شنبه 09 مرداد 1389, 15:53 عصر
با سلام خدمت دوستان
من می خام چندتا فایل صوتی (به عنوان نمونه با فرمت wmv) رو بطوری اجرا کنم که هم بتونم پشت سر هم اجراشون کنم هم بتونم هر وقت خواستم متوقف کنم
(مثلا با کلیک بر روی یه دکمه فایل های صوتی 1و2و3 پشت سر هم اجرا بشه و با یه دکمه دیگه قبل از اینکه قایل 2 اجراش تموم بشه متوقفش کنم و یه فایل صوتی دیگرو اجرا کنم)

اگه اطلاعات کمی هم در این زمینه دارید لطفا راهنمایی کنید
خیلی خیلی متشکرم:لبخندساده:

vandermond
شنبه 09 مرداد 1389, 16:16 عصر
دوست عزيز
اين تاپيك رو نگاه كن:
http://barnamenevis.org/forum/showthread.php?p=1039448#post1039448
اون dll ها رو هم كه گذاشتم اونجا توي پست 16 و 20 هر دوش لازمه. امكاناتش خوبه. اين كارا رو هم به راحتي ميتوني باهاش انجام بدي.

orginal
یک شنبه 10 مرداد 1389, 18:42 عصر
خیلی ممنون
آره درست کار می کنه
اینم کد sampleایی که نوشتم
امیدوارم به درد دوستان بخوره


using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.DirectX.AudioVideoPlayback;
using System.Collections;

namespace TestSound
{
public partial class Form1 : Form
{
Audio backMusic = new Audio(Application.StartupPath + "\\1.mp3");
ArrayList _soundResources = new ArrayList();
public Form1()
{
InitializeComponent();
}
private void btnStart_Click(object sender, EventArgs e)
{
ArrayList soundResources = new ArrayList();
soundResources.Add("2.mp3");
soundResources.Add("3.mp3");
soundResources.Add("4.mp3");
PlayAsc(soundResources);
}
public void PlayAsc(ArrayList soundSources)
{
backMusic.Open(Application.StartupPath + "\\" + soundSources[0].ToString());
soundSources.RemoveAt(0);
_soundResources = soundSources;
backMusic.Play();
backMusic.Ending += new EventHandler(backMusic_Ending);
}
void backMusic_Ending(object sender, EventArgs e)
{
string soundSource = string.Empty;
if (_soundResources.Count > 0)
{
soundSource = _soundResources[0].ToString();
_soundResources.RemoveAt(0);
backMusic.Open(Application.StartupPath + "\\" + soundSource);
backMusic.Play();
}
if (_soundResources.Count == 0)
{
backMusic.Ending -= new EventHandler(backMusic_Ending);
}
}
private void btnStop_Click(object sender, EventArgs e)
{
backMusic.Ending -= new EventHandler(backMusic_Ending);
backMusic.Stop();
}
}
}