
Recherche avancée
Autres articles (104)
-
Websites made with MediaSPIP
2 mai 2011, parThis page lists some websites based on MediaSPIP.
-
Amélioration de la version de base
13 septembre 2013Jolie sélection multiple
Le plugin Chosen permet d’améliorer l’ergonomie des champs de sélection multiple. Voir les deux images suivantes pour comparer.
Il suffit pour cela d’activer le plugin Chosen (Configuration générale du site > Gestion des plugins), puis de configurer le plugin (Les squelettes > Chosen) en activant l’utilisation de Chosen dans le site public et en spécifiant les éléments de formulaires à améliorer, par exemple select[multiple] pour les listes à sélection multiple (...) -
Publier sur MédiaSpip
13 juin 2013Puis-je poster des contenus à partir d’une tablette Ipad ?
Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir
Sur d’autres sites (10862)
-
Merge "Add half-pixel variance RTCD functions"
27 octobre 2010, par John KoleszarMerge "Add half-pixel variance RTCD functions"
-
avformat/webpenc : Fix memleak when trailer is never written
18 mars 2021, par Andreas Rheinhardtavformat/webpenc : Fix memleak when trailer is never written
When the trailer is never written (or when a stream switches from
non-animation mode to animation mode mid-stream), a cached packet
(if existing) would leak. Fix this by adding a deinit function.Signed-off-by : Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-
Could you please guide me on how to play a single sample of an audio file in C# using FFmpeg ?
11 juillet 2023, par hello worldWhat is the recommended approach for playing a single sample of an audio file in C# using FFmpeg ? I would like to incorporate FFmpeg into my C# application to play a specific sample from an audio file. Could someone provide an example or guide me on how to achieve this ? Any help would be appreciated.


using System;
using System.Diagnostics;

public class AudioPlayer
{
 private string ffmpegPath;

 public AudioPlayer(string ffmpegPath)
 {
 this.ffmpegPath = ffmpegPath;
 }

 public void PlayAudioSample(string audioFilePath, TimeSpan samplePosition)
 {
 // Prepare FFmpeg process
 Process ffmpegProcess = new Process();
 ffmpegProcess.StartInfo.FileName = ffmpegPath;
 ffmpegProcess.StartInfo.Arguments = $"-ss {samplePosition} -i \"{audioFilePath}\" -t 1 -acodec pcm_s16le -f wav -";
 ffmpegProcess.StartInfo.RedirectStandardOutput = true;
 ffmpegProcess.StartInfo.RedirectStandardError = true;
 ffmpegProcess.StartInfo.UseShellExecute = false;
 ffmpegProcess.StartInfo.CreateNoWindow = true;

 // Start FFmpeg process
 ffmpegProcess.Start();

 // Play audio sample
 using (var audioOutput = new NAudio.Wave.WaveOutEvent())
 {
 using (var audioStream = new NAudio.Wave.RawSourceWaveStream(ffmpegProcess.StandardOutput.BaseStream, new NAudio.Wave.WaveFormat(44100, 16, 2)))
 {
 audioOutput.Init(audioStream);
 audioOutput.Play();
 while (audioOutput.PlaybackState == NAudio.Wave.PlaybackState.Playing)
 {
 System.Threading.Thread.Sleep(100);
 }
 }
 }

 // Wait for FFmpeg process to exit
 ffmpegProcess.WaitForExit();
 }
}