如何用Python将MP3文件转为二进制表示(Django项目场景)
Django项目:MP3转二进制序列功能实现
我有一个基于Django模型的项目,用户可上传歌曲并输入密码,后续会通过扩频隐写术将密码嵌入歌曲中。项目数据存储在数据库,上传的文件保存在本地存储。当前阶段需要完成的核心功能是:将上传的MP3文件转换为由0、1组成的二进制序列(例如上传mymusic.mp3后,生成类似110100101010的二进制序列)。上传的歌曲会存入media/mp3/thesongwasupload.mp3路径,通过Django获取最后上传的歌曲路径,现有实现代码如下:
def homepage(request): form = AudioForm() if request.method == "POST": form = AudioForm(request.POST, request.FILES) if form.is_valid(): form.save() last_audio = Audio_store.objects.all().last() print(last_audio) # readbinary(last_audio) plaintext = Audio_store.objects.all().values_list('password').last() key = Audio_store.objects.all().values_list('key').last() pt = plaintext[0] ky = key[0] ky16 = pelengkap(ky) context={'form':form, 'last_audio':last_audio} return render(request, "homepage.html", context) context={'form':form} return render(request, "homepage.html", context=context) def readbinary(audio): # 读取MP3文件并转换为二进制序列 b=BitArray(bytes=open(r'mp3/'+audio.name,'rb').read()) # 将二进制序列写入文本文件保存 with open('txt/'+audio.name, 'w') as file1: file1.write(b.bin)
内容的提问来源于stack exchange,提问作者HelpMeInDjango
相关产品推荐
相关产品推荐

