📄 syj.txt
字号:
[AutoIt脚本] 用老外代码改出来的收音机
#NoTrayIcon
#include <GuiConstants.au3>
Dim $inifile_path="palyList.ini"
Dim $Item[1]
Dim $Combo[1]
Dim $ComboList
Dim $sw=1
If Not FileExists($inifile_path) Then
FileInstall("Install\palyList.ini",$inifile_path)
EndIf
#region Object
$oMyError = ObjEvent("AutoIt.Error","Quit")
$oMediaplayer = ObjCreate("WMPlayer.OCX.7")
If Not IsObj($oMediaplayer) Then Exit
$oMediaplayer.Enabled = true
$oMediaplayer.WindowlessVideo= true
$oMediaPlayer.UImode="invisible"
$oMediaPlayer.URL="http://music.fm.qq.com/radio/daren"
$oMediaPlayControl=$oMediaPlayer.Controls
$oMediaPlaySettings=$oMediaPlayer.Settings
#endregion
#region GUI
$Formm = GuiCreate("网络收音机-Tendy制作", 213, 115,(@DesktopWidth-215)/2, (@DesktopHeight-100)/2, -1)
GuiCtrlCreateLabel("网络收音机", 10, 10, 200, 20)
$Volume = GuiCtrlCreateSlider(30, 25, 186, 20)
GuiCtrlCreateLabel("音量:", 6, 31, 40, 20)
GUICtrlSetData($Volume, 160)
$Play = GuiCtrlCreateButton("播放", 5, 60, 45, 25)
$Stop = GuiCtrlCreateButton("停止", 60, 60, 45, 25)
$Add = GuiCtrlCreateButton("电台管理", 140, 60, 60, 25)
GuiCtrlCreateLabel("列表:", 5, 94, 40, 20)
$PlayList = GuiCtrlCreateCombo("", 38, 90, 170, 21)
$List = IniReadSection ($inifile_path,"List")
If @error Then
MsgBox(16,"错误!","读取"&$inifile_path&"失败,程序无法继续!!")
Exit
EndIf
For $I = 1 To $List[0][0]
$ComboList=$ComboList&"|"&$List[$I][0]
Next
GuiCtrlSetData($PlayList,$ComboList,$List[1][0])
GuiSetState()
$Form1 = GUICreate("电台管理", 396, 273,(@DesktopWidth-396)/4, (@DesktopHeight-273)/4,$WS_EX_APPWINDOW,"",$Formm)
$List1 = GUICtrlCreateListView("编号|电台名称|地址", 8, 8, 378, 198)
$del = GUICtrlCreateButton("删除", 312, 216, 75, 25)
$Button2 = GUICtrlCreateButton("修改", 224, 216, 75, 25)
$AddDT = GUICtrlCreateButton("添加", 136, 216, 75, 25)
For $i=1 To $List[0][0]
ReDim $Item[UBound($Item)+1]
$L=$i
$Item[UBound($Item)-1]=GUICtrlCreateListViewItem($i&"|"&$List[$i][0]&"|"&$List[$i][1],$List1)
Next
$VolLevel = 160
HotKeySet("{F8}", "Hide")
HotKeySet("{F9}", "Show")
While 1
Local $msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
ExitLoop
Case $msg = $Play
$oMediaPlayControl.Play
Case $msg=$PlayList
$oMediaPlayer.URL = IniRead ($inifile_path, "List",GUICtrlRead($PlayList),"http://music.fm.qq.com/radio/fm1043")
$oMediaPlayControl.Play
Case $msg = $Stop
$oMediaPlayControl.Stop
Case $msg=$Add
Add()
Case Else
If GUICtrlread($Volume) <> $VolLevel Then
$oMediaPlaySettings.Volume = GUICtrlRead($Volume)
$VolLevel = GUICtrlRead($Volume)
EndIf
EndSelect
WEnd
Exit
#endregion
#region functions
Func Quit()
$oMediaPlayControl.Stop
Exit
EndFunc
Func Hide()
GUISetState(@SW_HIDE,$Formm)
EndFunc
Func Show()
GUISetState(@SW_SHOW,$Formm)
EndFunc
;~ ====================================================================================
Func ADD()
;~ GUISetState(@SW_DISABLE,$Formm)
GUISetState(@SW_SHOW,$Form1)
While 1
Local $msg = GuiGetMsg()
Select
Case $msg=$GUI_EVENT_CLOSE
GUISetState(@SW_HIDE,$Form1)
;~ GUIDelete()
;~ GUISetState(@SW_ENABLE,$Formm)
GUISetState(@SW_SHOW,$Formm)
ExitLoop
Case $msg=$del
If GUICtrlRead($List1)=0 Then
MsgBox(48,"傻B!!","傻B你不选择怎么删除呀?")
Else
Local $N=GUICtrlRead(GUICtrlRead($List1))
Local $Temp_A=StringSplit($N,"|")
If UBound($Item)<=2 Then
MsgBox(48,"警告!!","至少要保留一个电台!!")
Else
GUICtrlDelete(GUICtrlRead($List1))
IniDelete($inifile_path,"List",$Temp_A[2])
If $Temp_A[1]<=UBound($Item)-1 Then
For $i=$Temp_A[1]+1 To UBound($Item)-1
Local $N=GUICtrlRead($Item[$i])
Local $Temp_A=StringSplit($N,"|")
GUICtrlSetData ($Item[$i],$i-1&"|"&$Temp_A[2]&"|"&$Temp_A[3])
$Item[$i-1]=$Item[$i]
Next
EndIf
F_Combo($Temp_A[2])
ReDim $Item[UBound($Item)-1]
EndIf
EndIf
Case $msg=$Button2
If GUICtrlRead($List1)=0 Then
MsgBox(48,"注意!","你还没有要修改的电台呢!!")
Else
Local $N=GUICtrlRead(GUICtrlRead($List1))
Local $Temp_A=StringSplit($N,"|")
F_XG($Temp_A[1],$Temp_A[2],$Temp_A[3])
EndIf
Case $msg=$AddDT
F_XG()
EndSelect
WEnd
EndFunc
;~ ==========================================================================
Func F_XG($Temp_1="",$Temp_2="",$Temp_3="")
;~ GUISetState(@SW_DISABLE,$Form1)
Local $Form="修改"
If $Temp_1="" Then
$Form="添加"
EndIf
$ADD_Form1 = GUICreate($Form, 347, 130, (@DesktopWidth-347)/4, (@DesktopHeight-130)/4,$WS_EX_APPWINDOW,"",$Form1)
$ADD_Input1 = GUICtrlCreateInput($Temp_2, 64, 8, 121, 21, -1, $WS_EX_CLIENTEDGE)
$ADD_Input2 = GUICtrlCreateInput($Temp_3, 64, 40, 273, 21, -1, $WS_EX_CLIENTEDGE)
GUICtrlCreateLabel("电台名称:", 8, 14, 55, 17)
GUICtrlCreateLabel("链接地址:", 8, 46, 55, 17)
$ADD_Button1 = GUICtrlCreateButton("确定", 176, 72, 75, 25)
$ADD_Button2 = GUICtrlCreateButton("取消", 264, 72, 75, 25)
If $Form="修改" Then
GUICtrlSetState ($ADD_Input1,$GUI_DISABLE)
EndIf
GUISetState(@SW_SHOW)
While 1
Local $msg = GuiGetMsg()
Select
Case $msg = $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE,$ADD_Form1)
GUIDelete($ADD_Form1)
;~ GUISetState(@SW_ENABLE,$Form1)
GUISetState(@SW_SHOW,$Form1)
ExitLoop
Case $msg =$ADD_Button2
GUISetState(@SW_HIDE,$ADD_Form1)
GUIDelete($ADD_Form1)
;~ GUISetState(@SW_ENABLE,$Form1)
GUISetState(@SW_SHOW,$Form1)
ExitLoop
Case $msg=$ADD_Button1
Local $Name=GUICtrlRead($ADD_Input1)
Local $Line=GUICtrlRead($ADD_Input2)
If $Name="" Then
MsgBox(48,"注意!","你还没有输入电台名称呢!!")
ElseIf $Line="" Then
MsgBox(48,"注意!","你还没有输入电台地址呢!!")
Else
If $Form="添加" Then
IniWrite ($inifile_path, "List", $Name, $Line )
If @error Then
MsgBox(16,"错误!","写入"&$inifile_path&"文件失败!!")
EndIf
ReDim $Item[UBound($Item)+1]
$Item[UBound($Item)-1]=GUICtrlCreateListViewItem(UBound($Item)-1&"|"&$Name&"|"&$Line,$List1)
GuiCtrlSetData($PlayList,$Name,GUICtrlRead($PlayList))
GUISetState(@SW_HIDE,$ADD_Form1)
GUIDelete($ADD_Form1)
GUISetState(@SW_ENABLE,$Form1)
GUISetState(@SW_SHOW,$Form1)
ExitLoop
Else
IniWrite ($inifile_path, "List", $Temp_2, $Line )
GUICtrlSetData ($Item[$Temp_1],$Temp_1&"|"&$Temp_2&"|"&$Line)
GUISetState(@SW_HIDE,$ADD_Form1)
GUIDelete($ADD_Form1)
GUISetState(@SW_ENABLE,$Form1)
GUISetState(@SW_SHOW,$Form1)
ExitLoop
EndIf
EndIf
EndSelect
WEnd
EndFunc
;~ ============================================================================
Func F_Combo($Text)
Local $Temp_B
For $i=1 To UBound($Item)-2
Local $N=GUICtrlRead($Item[$i])
Local $Temp_A=StringSplit($N,"|")
If $Temp_A[2]<>$Text Then
$Temp_B=$Temp_B&"|"&$Temp_A[2]
EndIf
Next
Local $N=GUICtrlRead($Item[1])
Local $Temp_A=StringSplit($N,"|")
GuiCtrlSetData($PlayList,$Temp_B,$Temp_A[2])
EndFunc
#endregion
;ini文件
[List]
秀 Radio=http://music.fm.qq.com/radio/daren
音乐休闲=http://music.fm.qq.com/radio/music
我的音乐=http://music.fm.qq.com/radio/mymusic
综艺之声=http://music.fm.qq.com/radio/qqradio
流行深圳=http://music.fm.qq.com/radio/fm1057
广东卫星广播台=http://music.fm.qq.com/radio/fm914
四川岷江音乐台=http://music.fm.qq.com/radio/fm955
汉中音乐台=http://music.fm.qq.com/radio/fm971
楚天新闻台=http://music.fm.qq.com/radio/am1179
楚天卫星台=http://music.fm.qq.com/radio/fm916
无锡交通台=http://music.fm.qq.com/radio/fm1069
金鹗之声=http://music.fm.qq.com/radio/fm1041
云梦之声=http://music.fm.qq.com/radio/fm1061
磁湖之声=http://music.fm.qq.com/radio/fm105
福建音乐台=http://music.fm.qq.com/radio/fm913
长沙音乐台=http://music.fm.qq.com/radio/fm106.1
南宁新闻综合台=http://music.fm.qq.com/radio/fm1014
南宁交通音乐台=http://music.fm.qq.com/radio/fm1074
山西文艺台=http://music.fm.qq.com/radio/fm1015
福建都市生活=http://music.fm.qq.com/radio/fm987
西宁音乐台=http://music.fm.qq.com/radio/fm1043
UID3 帖子325 精华1 积分70 注册2006-10-20 阅读权限200 来自 威望70 金钱75 查看详细资料
TOP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -