Форум программистов, компьютерный форум CyberForum.ru

Xamarin

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.90
mrReptiloid
 Аватар для mrReptiloid
309 / 172 / 8
Регистрация: 30.04.2011
Сообщений: 1,219
#1

Xamarin воспроизведение аудио из потока(онлайн радио) - Xamarin

25.01.2014, 00:18. Просмотров 1215. Ответов 0
Метки нет (Все метки)

Xamarin под андроид
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
protected MediaPlayer player;
        public void StartPlayer(String  filePath)
        {
                player = new MediaPlayer();
                player.Reset();
                player.SetAudioStreamType(Stream.Music);
            player.SetDataSource(this,Android.Net.Uri.Parse(filePath));
                player.Prepare(); 
                player.Start(); 
....
 
button.Click += (o, e) => {
                try
                {
                    StartPlayer("http://online.radio-megapolis.ru:8000/megapolis");
                }
                catch (Exception exc)
                {
                    Console.WriteLine (exc.Message);
                }
            };          
        }
Собсно,такой вариант не катит-вылетает эксепшн:"Couldn't open file on client side, trying server side".В чем проблема и как можно реализовать задуманное?

Добавлено через 22 часа 58 минут
Пробую сделать как-то вот так:читаю поток в массив байтов,потом с помощью audiotrack воспроизвожу,но вместо музыки только короткие шипения...
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
static private void Download()
        {
            using (WebClient wcDownload = new WebClient())
            {
 
                WebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://media.vmariel.ru:8000/puls");
                webRequest.Credentials = CredentialCache.DefaultCredentials;
                WebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
                Int64 fileSize = webResponse.ContentLength;
 
                System.IO.Stream strResponse = wcDownload.OpenRead("http://media.vmariel.ru:8000/puls");
 
 
                int bytesSize = 0;
                byte[] downBuffer = new byte[131072];
                AudioTrack audioTrack = new AudioTrack(
                    Android.Media.Stream.Music,
                    48000,
                    ChannelConfiguration.Stereo,
                    Android.Media.Encoding.Pcm16bit,
                    downBuffer.Length,
                    AudioTrackMode.Stream);
                int i = 0;
                audioTrack.Play();
                while ((bytesSize = strResponse.Read(downBuffer, 0, downBuffer.Length)) > 0)
                {
                    audioTrack.Write(downBuffer, 0, downBuffer.Length);
                }
 
            }
        }
хотя,если в винде записывать в файл все это дело,то вроде как все нормально...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.01.2014, 00:18     Xamarin воспроизведение аудио из потока(онлайн радио)
Посмотрите здесь:

Xamarin Xamarin & UIButton
Xamarin Xamarin & UITableViewCell
Нужна справка по xamarin Xamarin
Прямые ссылки на xamarin Xamarin
Xamarin Hello World вылетает Xamarin
Работа с файлами в Xamarin Xamarin
Xamarin воспроизведение звуков Xamarin
Xamarin Xamarin Скачивание фаилов
Xamarin Xamarin example Hellow world
Visual studio xamarin Xamarin
C# xamarin Use an existing database Xamarin
Сколько весит Xamarin? Xamarin

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 00:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru