1 #测试程序 2 import os 3 from pydub import AudioSegment #已经确定, 4 5 # enPath = "%s%s/%s"%(enDir,file,enfile) #英文文件的路径 6 7 # cnPath = "%s%s/%s"%(cnDir,file,enfile.replace("en_w","cn_w"))#中文文件的路径 8 9 10 11 path1 = "C:\Users\Administrator\Desktop\233春晓.mp3" 12 p1,f1=os.path.split(path1) 13 # sound1 = AudioSegment.from_file(path1, format=os.path.splitext(f1)[1][-3:]) 14 15 16 sound1 = AudioSegment.from_mp3(path1) 17 18 19 print(len(sound1)) 20 sound_mix = AudioSegment.empty() 21 print(len(sound_mix)) 22 data_play = ['33', ',', '19', '.', '49', ',', '32', '.', '34', ',', '43', '.'] 23 time_end = int(data_play[0])*100 24 print(time_end) 25 # sound_mix = sound_mix + sound1[1,time_end] 26 sound_mix = sound1[0,3300] 27 print(len(sound_mix)) 28 29 30 31 # song1 = AudioSegment.from_mp3(enPath) 32 33 # song2 = AudioSegment.from_mp3(cnPath)
问题显示:
22544 0 3300 Traceback (most recent call last): File "C:UsersAdministratorOneDriveMufasa Codeaudio lay est_数据读取的音频合成.pyw", line 26, in <module> sound_mix = sound1[0,3300] File "C:UsersAdministratorAppDataLocalProgramsPythonPython35libsite-packagespydubaudio_segment.py", line 247, in __getitem__ end = millisecond + 1 TypeError: can only concatenate tuple (not "int") to tuple 请按任意键继续. . .
原因:
sound_mix = sound1[0,3300]
应该为数组类型
sound1[0:3300]
:::