将 Webm 或 m4a 文件转换为 mp3
Convert Webm or m4a file to mp3
有什么方法可以在 android studio 中将 webm 和 m4a 文件转换为 mp3。
因为更改文件扩展名使它看起来像 mp3 文件,但更改扩展名后无法找到...webm 和 m4a 文件仅包含音频。
您可以轻松实现 https://github.com/adrielcafe/AndroidAudioConverter。
您需要使用
将其导入到您的项目中
repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
compile 'com.github.adrielcafe:AndroidAudioConverter:0.0.8'
}
并且根据 github 页面,您还需要编译 com.github。hiteshsondhi88.libffmpeg 依赖项。
这是我使用过的 ffmpeg 函数.....我只是导入了 ffmpeg 库..
private void calculate(final String title , final String Type, final int id){
FFmpeg ffmpeg = FFmpeg.getInstance(getApplicationContext());
try {
// to execute "ffmpeg -version" command you just need to pass "-version"
ffmpeg.execute(new String[]{"-i",Environment.getExternalStoragePublicDirectory(DIRECTORY_MUSIC)+"/"+title+"."+Type, Environment.getExternalStoragePublicDirectory(DIRECTORY_MUSIC)+"/"+title+".mp3"}, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {}
@Override
public void onProgress(String message) {
Log.d("ffmpegevent", "onProgress: "+message);
}
@Override
public void onFailure(String message) {
Log.d("ffmpegevent", "onProgress: "+message);
Log.d("ffmpegevent", "onFailure: ");
}
@Override
public void onSuccess(String message) {
Log.d("ffmpegevent", "onSuccess: ");
}
@Override
public void onFinish() {
Log.d("ffmpegevent", "onProgress: Finished");
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// Handle if FFmpeg is already running
}
}
有什么方法可以在 android studio 中将 webm 和 m4a 文件转换为 mp3。 因为更改文件扩展名使它看起来像 mp3 文件,但更改扩展名后无法找到...webm 和 m4a 文件仅包含音频。
您可以轻松实现 https://github.com/adrielcafe/AndroidAudioConverter。
您需要使用
将其导入到您的项目中repositories {
maven {
url "https://jitpack.io"
}
}
dependencies {
compile 'com.github.adrielcafe:AndroidAudioConverter:0.0.8'
}
并且根据 github 页面,您还需要编译 com.github。hiteshsondhi88.libffmpeg 依赖项。
这是我使用过的 ffmpeg 函数.....我只是导入了 ffmpeg 库..
private void calculate(final String title , final String Type, final int id){
FFmpeg ffmpeg = FFmpeg.getInstance(getApplicationContext());
try {
// to execute "ffmpeg -version" command you just need to pass "-version"
ffmpeg.execute(new String[]{"-i",Environment.getExternalStoragePublicDirectory(DIRECTORY_MUSIC)+"/"+title+"."+Type, Environment.getExternalStoragePublicDirectory(DIRECTORY_MUSIC)+"/"+title+".mp3"}, new ExecuteBinaryResponseHandler() {
@Override
public void onStart() {}
@Override
public void onProgress(String message) {
Log.d("ffmpegevent", "onProgress: "+message);
}
@Override
public void onFailure(String message) {
Log.d("ffmpegevent", "onProgress: "+message);
Log.d("ffmpegevent", "onFailure: ");
}
@Override
public void onSuccess(String message) {
Log.d("ffmpegevent", "onSuccess: ");
}
@Override
public void onFinish() {
Log.d("ffmpegevent", "onProgress: Finished");
}
});
} catch (FFmpegCommandAlreadyRunningException e) {
// Handle if FFmpeg is already running
}
}