Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Как воспроизвести звуковой файл MP3 или какие нибудь другие форматы на С#?  (Прочитано 6944 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Ильдар
Участник

kg
Offline Offline

« : 19-05-2009 03:23 » 

Как воспроизвести звуковой файл MP3 или какие нибудь другие форматы на С#?

Пожалуйста если можно пример с кодом.

Заранее благодарен.
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #1 : 19-05-2009 03:40 » 

Взято с kbyte.ru
Цитата
вы можете использовать NET-сборки для DirectX. Вот они позволяют воспроизводить файлы подобного вида. Причем не только звук но и видео..
Для этого вам надо:
1.Создать References
-Microsoft.DirectX.dll
-Microsoft.DirectX.AudioVideoPlayback.dll
2.Подключить необходимое пространство имен
Using Microsoft.DirectX.AudioVideoPlayback;
3.Создать экземпляр объекта Audio
Audio MyAudio = new Audio(FilePath, true);// FilePath - путь к файлу
Вот, собственно и все..
З.Ы. класс AudioVideoPlayback позволяет воспроизводить практически все известные форматы аудио и видеофайлов .Также имеет минимальный набор функций для управления: громкость, баланс, позиция воспроизведения и т.д..


Помню, что помимо directx есть еще вроде DirectSound (правда я не совсем уверен, что с помощью него можно открыть мп3, надо почитать) и DirectShow.
Записан

ещё один вопрос ...
Ильдар
Участник

kg
Offline Offline

« Ответ #2 : 19-05-2009 05:44 » 

Спасибо за ответ... Класс!
А если мне нужно в фоновом режиме проигрывать этот файл, и чтобы он проигрывался бесконечно??
Как это сделать?
Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 19-05-2009 10:54 » 

Создаешь отдельный поток, способ множество:
1. Испольщзование классов Thread и ThreadStart
2.Использование пула потоков посредством класса ThreadPool
3.Использование метода ассинхронного программирования посредством использовапния методов Begin.... методов классов, если они это поддерживают, либо сам создаешь делегаты и используешь метод делегата BeginInvoke.
4.Используешь один из трех классов Timer из пространств имен System.Threading, System.Windows.Forms и еще какой-то был забыл егою
Самый простой - первый вариант.
Код:

void MyFunc(void)
{
Console.Writeln("Hello World!!!");
}

Thread MyThread=new Thread("MyFunc");
MyThread.IsBackGround=true;
MyThread.Start();

Записан

ещё один вопрос ...
Ильдар
Участник

kg
Offline Offline

« Ответ #4 : 22-05-2009 09:51 » 

Спасибо!!
Очень помогло...
и я тут ещё кое что нашёл,может кому поможет..

Код:
public partial class main : Form
    {

              private System.Media.SoundPlayer mediaSoundPlayer = new System.Media.SoundPlayer();

        public main()
        {
            InitializeComponent();
        }
            
               private void playSoundPathButton_Click(object sender, EventArgs e)
        {
            string tadaPath = @"C:\windows\media\tada.wav";

            
            mediaSoundPlayer.SoundLocation = tadaPath;
            mediaSoundPlayer.PlayLooping();

        }
Всё очень просто и быстро воспроизводится.
Правда в фоновом режиме, так как мне нужно было имено это.
И чтобы он проигрывался бесконечно..есть метод PlayLooping();
« Последнее редактирование: 22-05-2009 09:58 от Ильдар » Записан
nikedeforest
Команда клуба

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 22-05-2009 10:32 » 

Насколько я знаю, SoundPlayer не проигрывает mp3, а ты просил проиграть именно этот фоормат. Или тебе было лишь бы хоть что-то проиграть? Улыбаюсь
Но все равно, холрошо что сказал про этот класс. Это очень хороший класс если надо просто придать приложению звуковое сопровождение без заморочек, а-ля щелчки и прочее.
« Последнее редактирование: 22-05-2009 10:38 от nikedeforest » Записан

ещё один вопрос ...
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines