7
votes

Naudio - recherche et navigation à jouer à partir de la position spécifiée

J'utilise Naudio Bibliothèque dans une application C #. J'essaie de chercher un fichier audio (* .mp3) au poste que je veux. Cependant, je n'ai pas compris comment le faire. xxx

et ... il a joué à partir de presque le début, mais pas de la 16e seconde. J'ai aussi trouvé une solution que je pensais vrai: xxx

Il semble que c'est plus proche de la vérité. Est-ce que mon résolution est vrai ou non? Si non, que dois-je faire?


0 commentaires

3 Réponses :


9
votes

Vous pouvez définir position directement sur un waveStream , qui doit être converti en un décalage d'octet - donc oui, multiplier les octets moyens par seconde par le nombre de secondes Obtenez-vous au bon endroit (au moins avec des fichiers PCM WAV réguliers). WAVESTREAM a également une propriété Helper appelée actuelTime vous permettant d'utiliser un Timespan et il effectue le même calcul pour vous.


0 commentaires

9
votes

Si quelqu'un a toujours ce problème et ne peut pas le comprendre. Ensuite, voici un exemple: xxx


2 commentaires

Merci beaucoup, cela m'a vraiment aidé!


C'est ça. Pour une raison quelconque, la méthode de l'extension Skip ((code> Skip () (qui devrait prendre le même Timespan ) ne fonctionne pas, mais ce calcul approche fait. Merci!



1
votes

J'ai créé une navigation à l'aide d'une barre de traquise avec 4 ticks par seconde (1 tick à 250ms): xxx pré>

dans un gestionnaire de ticket de minuterie, appelé à chaque 250 ms, une mise à jour de la barre de capture est Fait comme suit: p> xxx pré>

afin de définir la position (après le défilement), cette formule a fonctionné: p>

double ms = trackBar1.Value * 1000.0 / 4.0;
stream.Position = (long)(ms * output.OutputWaveFormat.SampleRate * output.OutputWaveFormat.BitsPerSample * output.OutputWaveFormat.Channels / 8000.0) & ~1;


0 commentaires