内存卡里的歌曲在移动音箱上播放,怎样自己安排播放顺序?

2023-02-13

本文主要是 内存卡里的歌曲在移动音箱上播放,怎样自己安排播放顺序? 相关的知识问答,如果你也了解,请帮忙补充。

如何控制插卡式小箱中SD卡音乐文件的播放顺序?


短版回答

严格按照向TF卡(我们有时候叫那种小的存储卡也叫SD卡)中写入文件的顺序播放。

长版回答

首先https://zhidao.baidu.com/question/411410719.html 中 poligong的回答是对的。

我自己实验了好久之后也发现了同样的规则。

探索的过程蛮曲折但也挺有意思。

我先后尝试了文件名、修改时间、创建时间、mp3-id3标签信息的track-number字段(即歌曲在专辑中的原始序号)……

折腾了几个小时……

最后发现我把问题想复杂了。

首先:音箱内芯片的文件遍历模型是非常原始和简单的。

那个几十元的小音箱应该不可能有什么(严格意义上的)计算机操作系统在里面的,至少没有我们所认为的那种操作系统:即那种可以对文件名、文件属性、字段进行排序(甚至还要它考虑中文文件名或标题或其它字段的编码问题?不可能的啦)。它内部只可能有一片或几片简单的芯片完成简单的存储空间地址顺序扫描(SD卡存储数据本质上是一个寻址空间)+MP3播放(这个有非常成熟和廉价的解决方案)功能。所以,我们所有的尝试,不管是文件名还是别的什么规则,在它面前通通被无视。所有尝试在SD卡上对文件直接重命名或修改属性的努力都是无用功。

其次,怎样控制播放顺序?

尝试多次都无法找到答案的原因是文件写入的顺序没有办法复现。这个顺序并不能从文件属性中获取。文件创建时间和文件写入时间并不一定一致。同时,使用各种文件管理器(如windows下的explorer即我的电脑,linux下的各种工具)在向sd卡中写入数据的过程是不可控的。这个过程因不同操作系统不同编码方案+不同文件管理器写入操作的具体实现不同。它在批量向sd卡中写入数据前已经对文件进行了排序,而这个排序显然不太可能和用户要求的播放顺序一致,而在文件名排序时又偶尔一致,从而导致困惑:)

那么该怎样做呢?

关键在于控制写入顺序。

首先是在本地端(写入SD卡之前的本地磁盘目录中)对文件以固定格式命名,常见的就是以补0数字作文件名前缀来排序(这可以规避不同操作系统的排序规则差异),然后使用脚本进行精确的写入控制。

例如以python为例,其内置的os.listdir函数并不是按文件名来排序的。需要先对其结果进行预排序,然后按排序结果一个一个地拷贝文件方可。

注意:sort/sorted函数对字符串排序的规则是按照字符的unicode码值大小作为依据的。

脚本参考如下:

import os,shutil

form pathlib import Path


src_dir = Path(input('源目录='))

dst_dir = Path(input('目标目录='))

src_files = sorted(os.listdir(src_dir))

for f in src_files:

    print(f)

for f in src_files:

    print(f'正在复制 f ...')

    shutil.copy(src_dir / f, dst_dir)

参考知识1 这个问题我在给孩子下载语音课文的时候也遇到了,我的是插卡移动蓝牙小音箱,只有几个按键没办法快速转到想要听得课文,而课文朗读加上解析有50多个音频文件想要跳到想听的课文需要连续按好多下(下一曲或上一曲)也不确定具体按几下才能到。我在网上搜寻了很多方法(如:给内存卡里的文件(歌曲)编序号1,2,3.......,和001,002,003........还有A,B,C........等)都试过了都不行,后来自己琢磨的一个一个复制到内存卡里(顺序不是按照1,2,3)后,发现完全是按照复制的顺序来播放的,这下找到了解决方法,然后我就按照课文顺序一个一个复制到卡里,完美解决了我的烦恼,而且想要听第几课只要按照当前是第几课推算出来按几下就可以到啦!
最后特别感谢热心网友们给出的很多方法,虽然没有解决我的问题但可能也能解决其他网友的问题,给你们点赞!!
参考知识B 更改歌曲名称 简单地说,移动音箱默认排序方式是根据开头那个字的字母排列的 建议你在原来的歌曲名前面加 A B C D .......就能实现了 呵呵 参考知识C 建议在歌曲名称前加上“001、002、……、N”等序号。 参考知识D 什么牌子的移动音响,有了可以设置!
相似知识
蓝牙音箱怎么播放内存卡的歌 手机连接蓝牙音箱的设置方法:1、打开蓝牙音箱。对于立体声蓝牙音箱,只需打开音箱的电源开关,蓝牙指示灯闪烁,表示蓝牙处于开启状态并已进入可搜索模式。2、蓝牙搜索。打开手机蓝牙功能,将手机设置为“所有人可
插卡音箱 U盘里的MP3文件该如何排序?让它按我要的顺序播放 插卡小音响播放U盘上的文件顺序,是依据,该音乐文件在U盘上创建的时间来进行的,先放入的在前,后放入的在后。这个创建的时间,可以在电脑上点击音乐文件的属性来查到,无法修改。另外插卡音响的播放软件有不同一
音箱上的f t插口是啥意思 插卡音箱有TF插口。就是可以插手机用的内存卡。可以把歌曲用读卡器复制到TF卡上,插到插卡音响上就可以播放了。音响指除了人的语言、音乐之外的其他声响,包括自然环境的声响、动物的声音、机器工具的音响、人的
插卡音箱TF记忆卡里的MP3文件播放时不能按顺序播放是怎么回事? 一般是按照你的第字母的英文顺序来排的(A.B.C.....),如果是汉字,会按照第一个字的拼音声母来排的.如果首字相同,然后是第二个字的拼音声母.以此类推.所以建议把自己爱听的前面加上A.或B,C来分
F00T在音箱上啥意思? 参考知识1您问的是音响上面的tf是什么意思?音响上面的tf是一种多媒体卡,就是可以插手机用的内存卡。可以把歌曲用读卡器复制到TF卡上,插到插卡音响上就可以播放了。
插卡小音箱TF卡满歌能播放,但在电脑上不能查看不能读取 参考知识1http://www.downxia.com/downinfo/1370.html下载“文件夹嗅探器”。我遇到的问题和你一样。用这个软件打开tf卡。就可以找到歌曲放的文件夹。全选保存到本地电
插卡小音箱TF卡满歌能播放,但在电脑上不能查看不能读取 参考知识1用软件建立一种操作系统文件夹,然后把歌曲复制到其中,一般电脑默认是隐藏受保护的操作系统文件,所以这个选项去掉就ok了。操作方法:工具-文件夹选项-查看-在“隐藏受保护的操作系统文件”项把勾去