2012-08-06 203 views
0

我在java中使用xugglu以切換輸入MP3文件的比特率,將它存儲在輸出文件中。我在網上找到了一個例子,將文件加載到閱讀器中,並添加了一個作爲偵聽器的作者。有誰知道我該如何修改比特率?更改mp3的比特率

這是我一直在使用的代碼:

import com.xuggle.mediatool.IMediaReader; 
import com.xuggle.mediatool.IMediaViewer; 
import com.xuggle.mediatool.IMediaWriter; 
import com.xuggle.mediatool.ToolFactory; 
import org.slf4j.LoggerFactory; 


public class TranscodingExample { 

private static final String inputFilename = "/home/user/Desktop/file_changed.mp3"; 
private static final String outputFilename = "/home/user/Desktop/file_changed.flv"; 

public static void main(String[] args) { 

    // create a media reader 
    IMediaReader mediaReader = 
      ToolFactory.makeReader(inputFilename); 

    // create a media writer 
    IMediaWriter mediaWriter = 
      ToolFactory.makeWriter(outputFilename, mediaReader); 

    // add a writer to the reader, to create the output file 
    mediaReader.addListener(mediaWriter); 

    // create a media viewer with stats enabled 
    IMediaViewer mediaViewer = ToolFactory.makeViewer(true); 

    // add a viewer to the reader, to see the decoded media 
    mediaReader.addListener(mediaViewer); 

    // read and decode packets from the source file and 
    // and dispatch decoded audio and video to the writer 
    while (mediaReader.readPacket() == null) ; 

} 
} 

編輯-1:

我不能真正解決這個問題,所以我只是用Linux命令這樣做在Java中應用程序。你可以找到代碼here的參考。我使用的命令是:

ffmpeg -i in.mp3 -b 112k out.mp3 

它將mp3轉換爲等於112k的新比特率。

回答

1

看看IAudioResampler

用於重新取樣IAudioSamples以不同的採樣率和通道數。