|
|
楼主 |
发表于 2011-9-25 02:00:16
|
显示全部楼层
回复 14# komaau3
呵呵 我刚做音乐播放器的时候也是用的ID3~!~
论坛其实有的~
- $mp3Arr = _GetMp3info($file)
- If @error <> 1 Or @error <> 2 Then
- ConsoleWrite("标题:" & $mp3Arr[0] & @CRLF & "演唱者:" & $mp3Arr[1] & @CRLF & "专辑:" & $mp3Arr[2] & @CRLF & "四位年代码:" & $mp3Arr[3])
- EndIf
- Func _GetMp3info($lName);获取MP3基本信息
- ;用法: _GetMp3info($nFile)
- ;参数: $nFile 为 Mp3 路径
- ;返回值:
- ;成功:返回数组
- ;array[0] 为 MP3 标题
- ;array[1] 为 MP3 演唱者
- ;array[2] 为 MP3 专辑
- ;array[3] 为 MP3 四位年代码(2009)
- ;失败:返回空字串""
- ;设@error=1 打开文件失败或文件不存在
- ;设@error=2 文件可能不是MP3标准格式
- $hFile = FileOpen($lName, 0)
- If $hFile = -1 Then
- SetError(1)
- Return ""
- Else
- FileSetPos($hFile, -128, 2)
- $bBuffer = FileRead($hFile, 128)
- If BinaryToString(BinaryMid($bBuffer, 1, 3)) = "TAG" Then
- Local $TMPARRAY[4]
- $TMPARRAY[0] = BinaryToString(BinaryMid($bBuffer, 4, 30))
- $TMPARRAY[1] = BinaryToString(BinaryMid($bBuffer, 34, 30))
- $TMPARRAY[2] = BinaryToString(BinaryMid($bBuffer, 64, 30))
- $TMPARRAY[3] = BinaryToString(BinaryMid($bBuffer, 94, 4))
- Return $TMPARRAY
- Else
- SetError(2)
- Return ""
- EndIf
- EndIf
- FileClose($hFile)
- EndFunc ;==>_GetMp3info
复制代码 具体哪个帖子找不到了~!~这个是我记录的~ |
|