![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| Benedicttt |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 31.1.2011 Репутация: нет Всего: нет |
Задача на первый взгляд тривиальна - надо воспроизводить аудио из интернета.
Допустим есть Url с mp3 аудиотреком,я могу получить поток стандартными httpWebReqest, HhtpWebResponse, а вот дальше как? Понятно что можно сохранить в файл и после воспроизводить - так не пойдет, надо чтобы воспроизводило одновременно с загрузкой. Я знаю про существование соответсвующих компонентов в windows forms и WPF, которые вроде так могут - это не годится, задача стоит так чтобы я мог всегда знать сколько загружено, чтобы как-то это отображать. Смотрел и класс Audio из Microsoft.DirectX.AudioVideoPlayback - по тем же причинам не утсраивает Остановился я на классах Buffer и SecondaryBuffer из Microsoft.DirectX.DirectSound. Вроде как могут играть потоки, вроде как все тонко настраивается, только беда в том что простой поток, полученый HhtpWebResponse играть они не хотят - возникает исключение, в котором мне сообщают что мой поток (класс Stream) должен поддерживать метод Seek. вот пример -
исключение происходит при вызове конструктора SecondaryBuffer вот такое -
ну и собственно вопрос - как сделать, чтобы играло? первое, что приходит в голову - может запустить асинхронное копирование из полученого потока в какой-то другой, например в MemoryStream и играть его? может кто-нибудь подобное делал с использованием этих классов? поделитесь опытом, пожалуйста, 4 дня голову ломаю. или может есть какие-то другие средства? |
||||
|
|||||
| Benedicttt |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 31.1.2011 Репутация: нет Всего: нет |
Вопрос закрыт - нашел альтернативное решение - библиотека Bass. Пожалуй это даже больше чем искал
Вот так вот просто я воспроизвожу:
а вот так получаю информацию о том сколько загружено:
+возможности библиотеки позволяют делать еще кучу интереснейших вещей |
||||
|
|||||
| Georgich |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 105 Регистрация: 20.1.2008 Репутация: нет Всего: нет |
Benedicttt, спасибо.
Я тоже занимаюсь этим вопросом и пока забуксовал. Пытался использовать NAudio, но, если воспроизвести файл из интернета так просто библиотекой Bass, то, неприменно, воспользуюсь. |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |