Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.57/7: Рейтинг темы: голосов - 7, средняя оценка - 4.57
Заблокирован
1
.NET 4.x

Прослушивание радио из Интернета

15.03.2013, 21:43. Показов 1321. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем привет! Вот такой код есть:

VB.NET
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
Imports System
Imports System.Windows.Forms
Imports System.Net
Imports System.IO
Imports System.Threading
 
Public Class Form1
    Public saveFileDialog1 As New SaveFileDialog
    Public thrDownload As Thread
    Public webRequest As HttpWebRequest
    Public webResponse As HttpWebResponse
    Public strLocal As FileStream
    Public strResponse As Stream
    Public Station = "http://stream02.media.rambler.ru/romantic128.mp3"
    Public potok As New WebClient
    Public ctThread As Threading.Thread = New Threading.Thread(AddressOf Download)
    Public wcDownload As New WebClient
 
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
 
    End Sub
 
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        saveFileDialog1.Title = "Select output file:"
        saveFileDialog1.Filter = "mp3 Files (*.mp3)|*.mp3"
        If saveFileDialog1.ShowDialog() = DialogResult.OK Then
            TextBox1.Text = saveFileDialog1.FileName
            Button2.Enabled = True
        End If
    End Sub
 
    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        If File.Exists(TextBox1.Text) Then
            File.Delete(TextBox1.Text)
        End If
        ctThread.Start()
        Button2.Enabled = False
        Button3.Enabled = True
    End Sub
 
    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        webResponse.Close()
        strResponse.Close()
        strLocal.Close()
        ctThread.Abort()
            Button2.Enabled = True
            Button3.Enabled = False
    End Sub
 
    Public Sub Download()
 
        webRequest = DirectCast(Net.WebRequest.Create(Station), HttpWebRequest)
        webRequest.Credentials = CredentialCache.DefaultCredentials
        webResponse = DirectCast(webRequest.GetResponse(), HttpWebResponse)
        Dim fileSize As Integer = webResponse.ContentLength
        strResponse = wcDownload.OpenRead(Station)
        strLocal = New FileStream(saveFileDialog1.FileName, FileMode.Create, FileAccess.Write, FileShare.None)
        Dim bytesSize As Integer = 0
        Dim downBuffer As Byte() = New Byte(2048) {}
        While (bytesSize = strResponse.Read(downBuffer, 0, downBuffer.Length)) > 0
            strLocal.Write(downBuffer, 0, bytesSize)
        End While
 
    End Sub
 
    Private Sub textBox2_TextChanged(sender As Object, e As EventArgs)
        Station = textBox2.Text
    End Sub
End Class
Переведен из C# не скажу, что 100% правильно. Код не работает. То есть не пишет поток из файла в Интернете. В данном случае на пример была взята ссылка из программы прослушивания радио в Интернете.

Подскажите правильный вариант, где тут ошибка...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.03.2013, 21:43
Ответы с готовыми решениями:

везде есть звук кроме интернета(радио)
Звук работает везде кроме прослушивания онлайн радио (иногда слышно прерывистое звучание, как бы...

Поиск статьи в старом журнале, может кто помнит. (Радио, радио-любитель,.)
Всем доброго дня! Когда-то ооочень давно читал статью в одном из журналов по радио-электронике,...

Скопировать текст из лейбла радио кнопки в текстовое поле по клику на этой же радио кнопке
Привет всем. Помогите с jQuery : нужно скопировать значение из <span class="priceIn></span> в...

Нужен пример создания сервера радио и клиента радио
Всем привет, у кого то есть годный пример создания сервера радио и клиента радио. да и хотелось...

7
1589 / 662 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
16.03.2013, 00:02 2
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Доброго,
VB.NET
1
While (bytesSize = strResponse.Read(downBuffer, 0, downBuffer.Length)) > 0
вы сравниваете логический результат сравнения (bytesSize с количеством загруженых байт) с нулем, а не присваиваете ему значение,
VB.NET
1
2
3
4
        Do
            bytesSize = strResponse.Read(downBuffer, 0, downBuffer.Length)
            strLocal.Write(downBuffer, 0, bytesSize)
        Loop While bytesSize
1
Заблокирован
16.03.2013, 06:37  [ТС] 3
Step_UA, Спасибо очень помог! Вопрос еще один разреши задать... Как можно упростить данный код, сжать его.
0
1589 / 662 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
16.03.2013, 13:07 4
Цитата Сообщение от inv.DS Посмотреть сообщение
Как можно упростить данный код, сжать его.
Удалите
VB.NET
1
2
3
4
    Public thrDownload As Thread
    Public webRequest As HttpWebRequest
    Public webResponse As HttpWebResponse
    Public potok As New WebClient
и все что с ними связано. Для TextBox2 не указано обрабатываемое событие
VB.NET
1
Private Sub textBox2_TextChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TextBox2.TextChanged
1
Заблокирован
16.03.2013, 13:09  [ТС] 5
Step_UA, И последний вопрос

После остановки работы процесса, при повторной попытки он не срабатывает и вылетает ошибка, с сообщением, что процесс остановлен, его невозможно еще раз запустить. Вопрос как быть с этим?
0
1589 / 662 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
16.03.2013, 13:22 6
Перед запуском потока в Button2_Click, инициализацию при объявлении можно убрать:
VB.NET
1
ctThread = New Threading.Thread(AddressOf Download)
0
Заблокирован
16.03.2013, 13:22  [ТС] 7
Step_UA, Убрал, повлияло на работу. Перестало вообще писать что-то.
0
1589 / 662 / 225
Регистрация: 09.06.2011
Сообщений: 1,334
16.03.2013, 14:30 8
Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

VB.NET
1
2
3
4
5
6
7
8
9
    Public ctThread As Threading.Thread
...
    Private Sub Button2_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button2.Click
        If File.Exists(TextBox1.Text) Then File.Delete(TextBox1.Text)
        ctThread = New Threading.Thread(AddressOf Download)
        ctThread.Start()
        Button2.Enabled = False
        Button3.Enabled = True
    End Sub
... мне больше нравится с Background Worker
Вложения
Тип файла: rar SaveMusic.rar (99.0 Кб, 59 просмотров)
1
16.03.2013, 14:30
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.03.2013, 14:30
Помогаю со студенческими работами здесь

Прослушивание аудиопотока
Здравствуйте. Возник вопрос по поводу прослушивания аудиопотока с какого-нить интернет-ресурса....

прослушивание трафика
Брандмауэр постоянно выдаёт что идут бесконеные сканирования портов и UDP flood и потом происходит...

Прослушивание сервера
Добрый день. Помогите советом, пожалуйста. Есть страница на сайте (index.php) на которую...

Клиент интернет-радио (интернет-радио плеер)
Кто знает как написать клиент интернет-радио на С++,или что можно почитать(для новичка С++) на тему...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru