为了给孩子磨耳朵,物色了一款蓝牙音箱播放器 JBL GO Player。孩子大了,如果连蓝牙播放他就会去看手机。然后为了保护眼睛又得限制看屏幕的时间。能插卡播放的音箱播放器就成了首选。
音箱声音洪亮清晰,听起来很饱满,很令人满意。这个 JBL GO Player 样子也讨人喜欢。拿到手后感觉比较意外的是外壳是塑胶的,有硅胶手机套的手感。比塑料有质感,又不像金属那么冰冷坚硬。正面的音箱网格面板是金属的。与新一代 JBL GO 2 相比,优势是可以插卡播放,缺点就是不防水。
播放不了 TF 卡内容¶
比较折腾的事情是播放 Micro SD 卡,也就是那个 TF 卡。开始没摸着它的脾性,还找京东售后咨询了,结果京东直接给换了货。然后新的一个到了之后还是遇到了困难。(这里为自己的狂汗~~)
简单介绍一下就是,手上原有的这个 SD 卡可能是有过格式化经历,不管什么音乐文件格式放进去,JBL GO Player 就是不认。然后我给重新格式化,在 Linux 上,在 Windows 10 上,甚至安卓手机上的格式化都试过了,还是不行。当然这个时候我还不知道是 JBL GO Player 对卡的文件系统格式和音频文件的格式都要求非常严格。(真不怪我,说明书上啥也没写 -_-)然后找了京东。客服答应给换一个。
两天后,拿到一个新的 JBL GO Player,还是不能播放 TF 卡上的 MP3。我想着不能这么背吧。于是一咬牙买了张新的 TF 卡。选了个 32GB 的金士顿的 SDCS2(Kingston Canvas Select Plus 32GB)。结果还真不是播放器的事情,也不是卡的事情,而是两者的配合。
操作方法¶
使用读卡器将音频文件写入 TF 卡。可以使用文件夹。如果按照数字编号的音频文件并没有按照顺序播放的话,可以先创建文件夹,然后再全选音频文件并复制、粘贴到这个文件夹中。
按电源键打开 JBL GO Player,稍等,播放器自动进入收音机模式,插入 Micro SD 卡,稍等,自动播放 SD 卡中的内容。
如果没有播放 SD 卡中的内容,那就是卡的文件系统问题、音频文件的格式问题,或者是卡可能坏了。
TF 卡的文件系统¶
先说说 TF 卡的文件系统。应该是买回来就能用的。如果曾经格式化成了别的格式,也是可以再格式化回来的。查看卡的文件系统信息可以看到它是“FAT32”格式,或者更明确一点就是“W95 FAT32”格式。如下,
# fdisk -l /dev/sda
Disk /dev/sda: 1.85 GiB, 1967128576 bytes, 3842048 sectors
Disk model: SD/MMC
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xb7697f60
Device Boot Start End Sectors Size Id Type
/dev/sda1 * 2048 3842047 3840000 1.9G c W95 FAT32 (LBA)
上面是我那张旧卡重新格式化之后的信息。新卡只是容量不同。
实际上只要用 Windows 系统按照默认的格式化设置来格式化一下就行了。Linux 上的话可以用 parted
,如下,
sudo parted /dev/sdX (parted) mklabel msdos (parted) mkpart primary fat32 1MiB 100% (parted) set 1 boot on (parted) quit sudo mkfs.vfat /dev/sdX1
其中 sdX
中的 X
需要相应替换成 a, b, c 之类的实际编号。
音频文件格式¶
按照目前的实际使用来看,JBL GO Player 至少支持 MP3、FLAC 和 WAV 格式的音频文件。但是也有可能在电脑上能够播放的 MP3 文件在 JBL GO Player 中却不能播放(我就是被这个坑了)。
如果 MP3 文件在电脑上可以播放却不能在 JBL GO Player 中播放,可以对该 MP3 文件进行处理。我试过的是使用 ffmpeg
来转换,而且走了一条繁琐的道路。我是在 Linux 系统上操作的。源码率是 65k,所以这里使用的目标码率是 64k 这个常见码率。在存放这些 MP3 文件的文件夹中,顺序执行,
$ cd /path/to/mp3s $ mkdir outflac $ for i in *.mp3 ; do ffmpeg -i "$i" "outflac/${i/mp3/flac}" ; done $ cd outflac $ mkdir outmp3 $ for i in *.flac ; do ffmpeg -i "$i" -c:v copy -b:a 64k "outmp3/${i/flac/mp3}" ; done
因为使用 lame --mp3input -b 64 input.mp3 output.mp3
这种方式直接处理的时候总是有问题(新 MP3 文件没有实际内容,只有个壳),所以我先给转换成了 flac 格式,再转换回去。
考虑到 JBL GO Player 就像从前的 MP3 播放器,它无法处理复杂的编码问题是可以理解的。记录下这些折腾供大家参考。如果有在 Windows 系统中处理该问题的需要,可以在下方留言。©
本文发表于水景一页。永久链接:<https://cnzhx.net/blog/tf-card-and-music-file-formats-for-jbl-go-player/>。转载请保留此信息及相应链接。