
Recherche avancée
Autres articles (97)
-
MediaSPIP 0.1 Beta version
25 avril 2011, parMediaSPIP 0.1 beta is the first version of MediaSPIP proclaimed as "usable".
The zip file provided here only contains the sources of MediaSPIP in its standalone version.
To get a working installation, you must manually install all-software dependencies on the server.
If you want to use this archive for an installation in "farm mode", you will also need to proceed to other manual (...) -
HTML5 audio and video support
13 avril 2011, parMediaSPIP uses HTML5 video and audio tags to play multimedia files, taking advantage of the latest W3C innovations supported by modern browsers.
The MediaSPIP player used has been created specifically for MediaSPIP and can be easily adapted to fit in with a specific theme.
For older browsers the Flowplayer flash fallback is used.
MediaSPIP allows for media playback on major mobile platforms with the above (...) -
ANNEXE : Les plugins utilisés spécifiquement pour la ferme
5 mars 2010, parLe site central/maître de la ferme a besoin d’utiliser plusieurs plugins supplémentaires vis à vis des canaux pour son bon fonctionnement. le plugin Gestion de la mutualisation ; le plugin inscription3 pour gérer les inscriptions et les demandes de création d’instance de mutualisation dès l’inscription des utilisateurs ; le plugin verifier qui fournit une API de vérification des champs (utilisé par inscription3) ; le plugin champs extras v2 nécessité par inscription3 (...)
Sur d’autres sites (8824)
-
Anomalie #4087 : Division par 0 dans couleurèsaturation avec couleur FFFFFF en majuscule
3 février 2018, par jluc -Mais il y a aussi le cas où la couleur commence par #
_couleur_hex_to_dec enlève le # avant de faire son boulot
et donc pour ce test il faudrait AUSSI enlever le # s’il est làAu final, il serait plus simple de tester APRES la conversion et le calcul de max :
if (max==0) max=1 ; -
How to combine multiple Audio Files into single using ffmpeg_kit_flutter
17 septembre 2023, par sunil kalwaniI want to play multiple Audio files in a sequence to form a question for the users.

For that, I tried theAudioPlay
package in the loop but they took some pause to play it in between which did not look good.

So as the alternative I want to combine audio files into a single file to play.

For that I have usedffmpeg_kit_flutter
package, but this returns 1 which means error in merging the files.

List<string> assetAudioFiles = [
 'audio/S1B_1.mp3', // Replace with the URLs or local paths of your audio files
 'audio/L2_31.mp3',
 'audio/S1B_2.mp3',
 'audio/L1s20.mp3',
];

Future> copyAssetFilesToStorage() async {
 List<string> localFilePaths = [];

 for (String assetFile in assetAudioFiles) {
 String localFilePath = await copyAssetToFile(assetFile);
 localFilePaths.add(localFilePath);
 }

 return localFilePaths;
}
 
Future<string> copyAssetToFile(String assetFilePath) async {
 final ByteData data = await rootBundle.load(assetFilePath);
 final Directory tempDir = await getTemporaryDirectory();
 final File tempFile =
 File('${tempDir.path}/${assetFilePath.split('/').last}');
 await tempFile.writeAsBytes(data.buffer.asUint8List(), flush: true);
 return tempFile.path;
}
 
Future<void> combineAudio(List<string> audioFiles) async {
 Directory tempDir = await getTemporaryDirectory();
 String tempPath = tempDir.path;

 // Create a temporary output file path
 String combinedAudioPath = '$tempPath/output.mp3';

 // Prepare the FFmpeg command to concatenate audio files
 String inputFiles = audioFiles.join('|');

 String command =
 'ffmpeg -i "concat:$inputFiles" -acodec copy $combinedAudioPath';

 var cmd2 =
 "-i ${audioFiles[0]} -i ${audioFiles[1]} -i ${audioFiles[2]} -filter_complex [0:0][1:0][2:0]concat=n=3:v=0:a=1[out] -map [out] $combinedAudioPath";
 
 FFmpegKit.execute(cmd2).then((session) async {
 print('session $session');
 final returnCode = await session.getReturnCode();
 print('returnCode $returnCode');

 if (ReturnCode.isSuccess(returnCode)) {
 print('Audio files merged successfully $returnCode');
 // SUCCESS
 } else if (ReturnCode.isCancel(returnCode)) {
 print('isCancel $returnCode');
 // CANCEL
 } else {`enter code here`
 print('Error merging audio files: $returnCode');
 // audioPlayer.play(DeviceFileSource(outputFilePath));
 }
 });
}
 
void combineAndPlayAudio() async {
 List<string> localFilePaths = await copyAssetFilesToStorage();
 await combineAudio(localFilePaths); //localFilePaths

 // Now you can play the combined audio using an audio player or other methods.
}
</string></string></void></string></string></string>


So can you please let me know how to combine multiple audio files into single or a way to play multiple audio in sequence ?


-
How to use FFmpeg in android to edit video ? [closed]
24 juillet 2023, par Rakesh Sainii am learning android. I tried the ffmpeg lib to merge the video and audio, but getting ffmpeg permission denied error. I search lot of but unable to find the solution.


Please anyone help if have the solution.


package com.example.mytestapp.Activity;
 
 import android.content.Context;
 import android.os.AsyncTask;
 import android.os.Environment;
 import android.util.Log;
 import com.github.hiteshsondhi88.libffmpeg.ExecuteBinaryResponseHandler;
 import com.github.hiteshsondhi88.libffmpeg.FFmpeg;
 import com.github.hiteshsondhi88.libffmpeg.exceptions.FFmpegCommandAlreadyRunningException;
 
 public class MergeAudioVideoTask extends AsyncTask {
 private static final String TAG = MergeAudioVideoTask.class.getSimpleName();
 
 private Context context;
 private String videoFilePath;
 private final String audioFilePath;
 private final String outputFilePath;
 
 public MergeAudioVideoTask(String videoFilePath, String audioFilePath, String outputFilePath) {
 this.videoFilePath = videoFilePath;
 this.audioFilePath = audioFilePath;
 this.outputFilePath = outputFilePath;
 }
 
 // String inputAudioPath = "https://www.soundhelix.com/examples/mp3/SoundHelix-Song-1.mp3";
 String outputVideoPath = Environment.getExternalStorageDirectory() + "/trimVideos" + "sangtest.mp4";
 
 // String[] command = {"-i", vpath, "-i", inputAudioPath, "-c:v", "copy", "-c:a", "aac", "-map", "0:v:0", "-map", "1:a:0", "-shortest", outputVideoPath};
 
 
 @Override
 protected Boolean doInBackground(Void... params) {
 String[] cmd = {"-i", videoFilePath, "-i", audioFilePath, "-shortest", outputVideoPath};
 try {
 FFmpeg.getInstance(context).execute(cmd, new ExecuteBinaryResponseHandler() {
 @Override
 public void onStart() {
 Log.e("Started", "yes");
 }
 
 @Override
 public void onProgress(String message) {
 // do nothing
 }
 
 @Override
 public void onFailure(String message) {
 Log.e("Failed ", "yes");
 }
 
 @Override
 public void onSuccess(String message) {
 Log.e("Success ", "yes");
 }
 
 @Override
 public void onFinish() {
 // do nothing
 }
 });
 } catch (FFmpegCommandAlreadyRunningException e) {
 e.printStackTrace();
 }
 
 return null;
 }
 
 @Override
 protected void onPostExecute(Boolean success) {
 if (success) {
 } else {
 }
 }
 
 }



I am using this but getting 'permission denied error for ffmpeg' i have already added storage permission in manifiest.