Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

[VB.Net/WinForms] Δημιουργία Ραδιοφώνου - Μερικές Ερωτήσεις!

  •  10-05-2010, 15:34

    [VB.Net/WinForms] Δημιουργία Ραδιοφώνου - Μερικές Ερωτήσεις!

    Καλησπέρα παιδιά και καλή εβδομάδα!
    Είμαι αρκετά νέος στον προγραμματισμό,και θα ήθελα την βοηθειά σας!
    Λοιπόν,μου καρφώθηκε η ιδέα να φτιάξω ένα ραδιόφωνο (ουσιαστικά,streaming radio client,απλά για να μην τρέχω στο live24 και στα υπόλοιπα site του είδους και ώς εξάσκηση φυσικά).Διάβασα μερικά tutorials από διάφορα site και κατέληξα σε έναν κώδικα...μπακαλίστικο εντελώς!Αλλά το θέμα είναι εάν είναι να το κάνω,να το κάνω καλά,να μάθω κιόλας!Σας παραθέτω τον κώδικα και από κάτω τα προβήματα μου,και αν μπορείτε πείτε μου τι νομίζετε!

    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
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
     
    Public Class Form1
        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Me.Opacity = 0
            Timer.Enabled = True
            RadioRegionBox.Items.Add("Athens")
            RadioRegionBox.Items.Add("United Kingdom")
        End Sub
    
        Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer.Tick
            Me.Opacity += 0.8
        End Sub
    
        Private Sub ExitToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem.Click
            End
        End Sub
    
        Private Sub RadioBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioBox.SelectedIndexChanged
            If RadioBox.Text = "Swansea Radio" Then
                MediaPlayer.URL = "http://www.swanseabayradio.com/sbr.asx"
            ElseIf RadioBox.Text = "Freedom FM" Then
                MediaPlayer.URL = "http://mfile.akamai.com/44349/live/reflector:23250.asx?bkup=23251"
                PictureBox1.Image = My.Resources.freedom
            ElseIf RadioBox.Text = "Red FM" Then
                MediaPlayer.URL = "mms://a660.l3168030659.c31680.g.lm.akamaistream.net/D/660/31680/v0001/reflector:30659"
                PictureBox1.Image = My.Resources.red
            ElseIf RadioBox.Text = "Galaxy FM" Then
                MediaPlayer.URL = "mms://galaxy.live24.gr/galaxy9292"
                PictureBox1.Image = My.Resources.galaxy
            ElseIf RadioBox.Text = "Radio Gold FM" Then
                MediaPlayer.URL = "mms://radiogold.live24.gr/radiogold"
                PictureBox1.Image = My.Resources.radiogold
            ElseIf RadioBox.Text = "St? ??????? FM" Then
                MediaPlayer.URL = "mms://stokokkino.gr:8000/stream"
                PictureBox1.Image = My.Resources.stokokkino
            ElseIf RadioBox.Text = "Rock FM" Then
                MediaPlayer.URL = "mms://radiofeeds1.mediabox.gr/rockfm"
                PictureBox1.Image = My.Resources.rock
            ElseIf RadioBox.Text = "Kiss FM" Then
                MediaPlayer.URL = "mms://kissfm.live24.gr/kiss2111"
                PictureBox1.Image = My.Resources.Kiss
            ElseIf RadioBox.Text = "Athens Radio DJ" Then
                MediaPlayer.URL = "mms://213.186.58.26/deejay"
                PictureBox1.Image = My.Resources.radiodj
            End If
        End Sub
        Private Sub MuteCheckBox_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MuteCheckBox.CheckedChanged
            If MuteCheckBox.Checked = True Then
                MediaPlayer.settings.mute = True
            ElseIf MuteCheckBox.Checked = False Then
                MediaPlayer.settings.mute = False
            End If
        End Sub
    
        Private Sub RadioRegionBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioRegionBox.SelectedIndexChanged
            If RadioRegionBox.Text = "Athens" Then
                RadioBox.Items.Add("Freedom FM")
                RadioBox.Items.Add("Red FM")
                RadioBox.Items.Add("Rock FM")
                RadioBox.Items.Add("Galaxy FM")
                RadioBox.Items.Add("St? ??????? FM")
                RadioBox.Items.Add("Athens Radio DJ")
                RadioBox.Items.Add("Kiss FM")
                RadioBox.Items.Add("Radio Gold FM")
            ElseIf RadioRegionBox.Text = "United Kingdom" Then
                RadioBox.Items.Clear()
                RadioBox.Items.Add("Swansea Radio")
            End If
        End Sub
    
        Private Sub VolumeTrackBar_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VolumeTrackBar.Scroll
            VolumeTrackBar.Minimum = 0
            VolumeTrackBar.Maximum = 100
            MediaPlayer.settings.volume = VolumeTrackBar.Value
            MediaPlayer.settings.volume = MediaPlayer.settings.volume + 10
            MediaPlayer.settings.volume = MediaPlayer.settings.volume - 10
        End Sub
    
        Private Sub AboutMiniRadioPlayerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutMiniRadioPlayerToolStripMenuItem.Click
            AboutForm.Show()
        End Sub
    
        Private Sub Form1_Resize(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Resize
            If WindowState = FormWindowState.Minimized Then
                Hide()
                NotifyIcon.BalloonTipTitle = "Moira's Mini Radio Player"
                NotifyIcon.BalloonTipIcon = ToolTipIcon.Info
                NotifyIcon.BalloonTipText = "Your application has been minimized to the taskbar."
                NotifyIcon.ShowBalloonTip(1000)
            End If
        End Sub
    
        Private Sub RestoreToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RestoreToolStripMenuItem.Click
            Show()
            WindowState = FormWindowState.Normal
        End Sub
    
        Private Sub AboutToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AboutToolStripMenuItem1.Click
            AboutForm.Show()
        End Sub
    
        Private Sub ExitToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitToolStripMenuItem1.Click
            End
        End Sub
        Private Sub NotifyIcon_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles NotifyIcon.MouseUp
            If e.Button = Windows.Forms.MouseButtons.Left Then
                If RadioBox.SelectedItem = "" Then
                    NotifyIcon.BalloonTipTitle = "Moira's Mini Radio Player"
                    NotifyIcon.BalloonTipIcon = ToolTipIcon.Info
                    NotifyIcon.BalloonTipText = "You have not selected a station."
                    NotifyIcon.ShowBalloonTip(1000)
                Else
                    NotifyIcon.BalloonTipTitle = "Moira's Mini Radio Player"
                    NotifyIcon.BalloonTipIcon = ToolTipIcon.Info
                    NotifyIcon.BalloonTipText = "You are listening to " + RadioBox.SelectedItem + " Station."
                    NotifyIcon.ShowBalloonTip(1000)
                End If
            End If
        End Sub
    
        Private Sub NextStationToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NextStationToolStripMenuItem.Click
            Me.RadioBox.SelectedIndex = Me.RadioBox.SelectedIndex + 1
        End Sub
    
        Private Sub PreviousStationToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PreviousStationToolStripMenuItem.Click
            Me.RadioBox.SelectedIndex = Me.RadioBox.SelectedIndex - 1
        End Sub
    
        Private Sub NextButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NextButton.Click
            Me.RadioBox.SelectedIndex = Me.RadioBox.SelectedIndex + 1
        End Sub
        Private Sub tmrTick_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tmrTick.Tick
            If nudSeconds.Value <> 0 Then
                nudSeconds.Value -= 1
            Else
                If nudMinutes.Value <> 0 Then
                    nudMinutes.Value -= 1
                    nudSeconds.Value = 59
                Else
                    If nudHours.Value <> 0 Then
                        nudHours.Value -= 1
                        nudMinutes.Value = 59
                        nudSeconds.Value = 59
                    Else
                        tmrTick.Enabled = False
                        btnStart.Text = "Start"
                        'What you want should happend when the time is up
                        If ShutDownChkBox.Checked Then
                            Process.Start("shutdown", "/s")
                        Else
                            MediaPlayer.Ctlcontrols.stop()
                        End If
                    End If
                End If
            End If
        End Sub
    
        Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
            tmrTick.Enabled = Not tmrTick.Enabled
            If btnStart.Text = "Start" Then
                btnStart.Text = "Pause"
                NotifyIcon.BalloonTipTitle = "Moira's Mini Radio Player"
                NotifyIcon.BalloonTipIcon = ToolTipIcon.Info
                NotifyIcon.BalloonTipText = "Sleep Timer set to " + SleeperComboBox.Text + "."
                NotifyIcon.ShowBalloonTip(1000)
            Else
                btnStart.Text = "Start"
    
                NotifyIcon.BalloonTipTitle = "Moira's Mini Radio Player"
                NotifyIcon.BalloonTipIcon = ToolTipIcon.Info
                NotifyIcon.BalloonTipText = "Sleep Timer was paused."
                NotifyIcon.ShowBalloonTip(1000)
            End If
        End Sub
    
        Private Sub btnReset_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnReset.Click
            nudHours.Value = 0
            nudMinutes.Value = 0
            nudSeconds.Value = 0
            SleeperComboBox.Text = "-- Enter Time"
            tmrTick.Enabled = False
            NotifyIcon.BalloonTipTitle = "Moira's Mini Radio Player"
            NotifyIcon.BalloonTipIcon = ToolTipIcon.Info
            NotifyIcon.BalloonTipText = "Sleep Timer was deactivated."
            NotifyIcon.ShowBalloonTip(1000)
        End Sub
    
        Private Sub SleeperComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SleeperComboBox.SelectedIndexChanged
            If SleeperComboBox.Text = "15 minutes" Then
                nudMinutes.Value = 15
            ElseIf SleeperComboBox.Text = "30 minutes" Then
                nudMinutes.Value = 30
            ElseIf SleeperComboBox.Text = "45 minutes" Then
                nudMinutes.Value = 45
            ElseIf SleeperComboBox.Text = "60 minutes" Then
                nudHours.Value = 1
            ElseIf SleeperComboBox.Text = "90 minutes" Then
                nudMinutes.Value = 30
                nudHours.Value = 1
            ElseIf SleeperComboBox.Text = "120 minutes" Then
                nudHours.Value = 2
            End If
        End Sub
    
        Private Sub RibbonMenuButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RibbonMenuButton1.Click
            MediaPlayer.settings.volume = VolumeTrackBar.Value
            MediaPlayer.Ctlcontrols.play()
        End Sub
    
        Private Sub RibbonMenuButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RibbonMenuButton2.Click
            MediaPlayer.Ctlcontrols.stop()
        End Sub
    
        Private Sub RibbonMenuButton3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RibbonMenuButton3.Click
            Me.RadioBox.SelectedIndex = Me.RadioBox.SelectedIndex - 1
        End Sub
    End Class

    Όπως καταλαβαίνετε,είναι αρκετά μπακαλίστικο.Το κεντρικό μου πρόβλημα,είναι το,που θα αποθηκεύσω τα ονόματα και τα link των σταθμών ώστε να χρειάζεται να τα "τραβάω" :
    α) Χωρίς να χρειάζομαι να γράφω έστω και αυτές τις 3 γραμμές κώδικα,εφόσον ψάχνουμε τον πιο σωστό/γρήγορο τρόπο να κάνουμε κάτι.
    β) Και κατα προτίμηση,να χρησιμοποιεί external file όπως ένα txt για να κάνω update on-the-fly!

    Οπότε θέλω απλά να μου υποδείξει κάποιος την διαδικασία για την δημιουργία ενός τέτοιου συστήματος με txt μορφής :
    1
    2
    3
    4
    5
    6
     
    "Freedom FM";"http://mfile.akamai.com/44349/live/reflector:23250.asx?bkup=23251";"Athens"
    "Galaxy FM";"mms://galaxy.live24.gr/galaxy9292";"Athens"
    "Radio Gold";"mms://radiogold.live24.gr/radiogold";"Athens"
    "Στο Κόκκινο";"mms://stokokkino.gr:8000/stream";"Athens"
    "Rock FM";"mms://radiofeeds1.mediabox.gr/rockfm";"Athens"
    "Kiss FM";"mms://kissfm.live24.gr/kiss2111";"Athens"



    Και να τα φορτώνω σε ένα Combobox!

    Ευχαριστώ βέβαια για οποιαδήποτε βοήθεια!
    Δημοσίευση στην κατηγορία: ,
Δείτε όλες τις δημοσιεύσεις της Θεματική Ενότητας
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems