请问如何首尾相连合并两个MP3文件?我用一位大侠的如下代码试验,但是后一首歌无法播放。

wyxriver 2011-07-19 10:40:34
var
s:tfilestream;
s1:tfilestream;
s2:tfilestream;
begin
s:=tfilestream.create( 'd:\output.mp3 ',fmcreate);
s1:=tfilestream.create( 'd:\1.mp3 ',fmopenread);
s1.seek(0,sofrombeginning);

s.copyfrom(s1,s1.size);

s2:=tfilestream.create( 'd:\2.mp3 ',fmopenread);
s2.seek(0,sofrombeginning);
s.copyfrom(s2,s2.size);


s.free;
s1.free;
s2.free;
end;

...全文
1195 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
OO_is_just_P 2011-11-20
  • 打赏
  • 举报
回复
建议看看MP3格式
http://wenku.baidu.com/view/0fdb442fb4daa58da0114afd.html我没太仔细看,希望对你有帮助。
合并音频文件并不只是简单的文件合并那么简单。比如合并前的MP3文件可能不同的码率,但是合并后在同一个文件内必须相同的码率,还要牵涉到重采样的问题。不是那么简单的。
建议用开源的解码器来调用合并,省的自己写了。
bwsoft1 2011-11-19
  • 打赏
  • 举报
回复
最近研究了下,对不同格式的mp3得先处理下才行,能直接合并的太少
http://www.dxmylove.com/download/jymp3.exe
mp3合并工具,这几天写的
bwsoft1 2011-11-04
  • 打赏
  • 举报
回复
关注,转换为wav的合并我会
npkaida 2011-07-24
  • 打赏
  • 举报
回复
合并MP3有格式问题,不是简单地按普通文件合并就行的。
但 DOS 的 Copy 命令具有合并 MP3 功能。
下面代码将 a.mp3, b.mp3 合并为 c.mp3
(注意,文件名为中文时可能不能正常运行)
WinExec(PChar('command.com /C copy /b e:\a.mp3+e:\b.mp3 e:\c.mp3'),SW_Hide);
伊吹萃香 2011-07-23
  • 打赏
  • 举报
回复
必须根据MP3的格式读取数据然后对文件头作调整,并合并音频数据。

1,185

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧