Форум программистов, компьютерный форум, киберфорум
Наши страницы
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
undelete
23 / 23 / 4
Регистрация: 03.11.2010
Сообщений: 85
#1

Радиоплеер на C# WPF

08.02.2011, 02:14. Просмотров 2027. Ответов 6
Метки нет (Все метки)

Здравствуйте! Хочу сделать плеер для проигрывания радио (не комерческий, для себя- нодоело вкладку браузера держать открытой).
Что хочу:
1. Проиграть радио по ссылке. Например: http://atr.1.fm/1fmatr128k?.wma
2. Если темка нравится, записать понравившийся кусок музыки

В C# не гуру, так что не ругайте!
Заранее спасибо!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.02.2011, 02:14
Ответы с готовыми решениями:

WPF async void fun() для событий контролла. (MapCOntrol.WPF)
Задача: Отмечаем чекбокс элементы и рисуем их на карте. При нажатии на...

Открыть WPF внутри другого WPF окна
Добрый день! Имеется задача: В WPF окне (назовем его MainWindow.xaml с...

Вызов окошка WPF из другого окна WPF
Всем доброго времени суток. Подскажите пожалуйста как мне вызвать из главного...

ColorDialog для WPF. Копии всякого старья для WPF
Последние три дня мучился в поисках ColorDialog для WPF. Не стороннего...

Есть ли в WPF полноценная замена GDI+? Чтобы можно было всё, что можно в GDI+? Просто думаю углубляться в работу с изображениями в WPF или GDI.
Ну собственно весь вопрос в заголовке темы.

6
Casper-SC
Эксперт .NET
3616 / 1825 / 355
Регистрация: 27.03.2010
Сообщений: 5,133
Записей в блоге: 1
08.02.2011, 02:35 #2
Проект -> Добавить ссылку -> COM (вкладка). Далее ищем в списке "wmp.dll".

Использовать можно как-то так:
C#
1
2
3
4
5
6
7
8
        WMPLib.WindowsMediaPlayer WMP = new WMPLib.WindowsMediaPlayer(); //создаётся плеер
            if (WMP.playState == WMPLib.WMPPlayState.wmppsPlaying) //если плеер играет, то...
            {
                this.WMP.controls.stop(); //останавливаем воспроизведение
                this.WMP.settings.volume = 100;
                this.WMP.URL = this.textBoxFilePath.Text; //путь к файлу присваиваем проигрывателю
                this.WMP.controls.play(); //воспроизводим
            }
this.WMP.URL = можно присвоить адрес радиостанции и слушать радио.
Например эту (какую-то нашёл):
http://radio.soullive.ru:8000/live

Других способов не знаю. Узнаешь расскажи.
2
undelete
23 / 23 / 4
Регистрация: 03.11.2010
Сообщений: 85
08.02.2011, 02:59  [ТС] #3
Сделал так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 public partial class MainWindow : Window
    {  WMPLib.WindowsMediaPlayer WMPs = new WMPLib.WindowsMediaPlayer(); //создаётся плеер
        public MainWindow()
        {
            InitializeComponent();
 
if (WMPs.playState == WMPLib.WMPPlayState.wmppsPlaying) //если плеер играет, то...
            {
                this.WMPs.controls.stop(); //останавливаем воспроизведение
                this.WMPs.settings.volume = 100;
                this.WMPs.URL = @"http://radio.soullive.ru:8000/live"
; //путь к файлу присваиваем проигрывателю
                this.WMPs.controls.play(); //воспроизводим
            }
           
 
        }
 
    }
Не воспроизводит! Чего не так сделал? Библиотеку успешно импортировал!
0
Casper-SC
Эксперт .NET
3616 / 1825 / 355
Регистрация: 27.03.2010
Сообщений: 5,133
Записей в блоге: 1
08.02.2011, 03:31 #4
Ну ты же видишь условие:
C#
1
if (WMPs.playState == WMPLib.WMPPlayState.wmppsPlaying) //если плеер играет, то...
Он то не играет, когда ты программу запускаешь, значит и не срабатывает код в области видимости if() {}

Сделай так:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
 public partial class MainWindow : Window
    {  
        
        WMPLib.WindowsMediaPlayer WMPs = new WMPLib.WindowsMediaPlayer(); //создаётся плеер
        public MainWindow()
        {
            InitializeComponent();
            this.WMPs.settings.volume = 100;
            this.WMPs.URL = @"http://radio.soullive.ru:8000/live"
; //путь к файлу присваиваем проигрывателю
            this.WMPs.controls.play(); //воспроизводим         
        }
    }
1
undelete
23 / 23 / 4
Регистрация: 03.11.2010
Сообщений: 85
08.02.2011, 05:33  [ТС] #5
Большое спасибо тебе, Casper-SC!
Подскажи еще, пожалуйста! На сколько я понимаю, мой "СУПЕР-МЕГА" радио плеер будет читать только те потоки, которые воспроизводит WMP, правильно?
0
Casper-SC
Эксперт .NET
3616 / 1825 / 355
Регистрация: 27.03.2010
Сообщений: 5,133
Записей в блоге: 1
08.02.2011, 07:23 #6
Честно говоря не совсем понял вопрос. Какой адрес радиостанции выберешь, та радиостанция и будет играть (думаю это очевидно).

Кстати, точно не уверен, но при закрытии приложения вроде надо вызывать, чтобы освободить ресурсы:
C#
1
WMPs.close();
1
undelete
23 / 23 / 4
Регистрация: 03.11.2010
Сообщений: 85
08.02.2011, 12:48  [ТС] #7
Ок, понял! А как записывать с потока?
0
08.02.2011, 12:48
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2011, 12:48

Как можно сделать инет радиоплеер на Delphi
Как можно сделать инет радиоплеер на Delphi ? если можно поподробнее и...

1C и С# wpf
Кто ни буть связывался с базами 1С через С#? Пока что нашел...

COM в WPF
Здравствуйте. Подскажите люди добрые. Как использовать средства COM в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru