CaptureSharedTimerDriven
Cet exemple d’application utilise les API Core Audio pour capturer des données audio à partir d’un appareil d’entrée spécifié par l’utilisateur et l’écrit dans un fichier .wav nommé de manière unique dans le répertoire actif. Cet exemple illustre la mise en mémoire tampon pilotée par le minuteur.
Cette rubrique contient les sections suivantes.
- Description
- Configuration requise
- télécharger l’exemple de
- Génération de l’exemple de
- Exécuter l’exemple de
- rubriques connexes
Description
Cet exemple illustre les fonctionnalités suivantes.
- 'API MMDevice pour l’énumération et la sélection d’appareils multimédias.
- WASAPI pour les opérations de gestion de flux.
Exigences
Produit | Version |
---|---|
sdk Windows | Windows 7 |
Visual Studio | 2008 |
Téléchargement de l’exemple
Cet exemple est disponible dans les emplacements suivants.
Emplacement | Chemin/URL |
---|---|
Kit de développement logiciel (SDK) Windows | \Program Files\Microsoft SDKs\Windows\v7.0\Samples\Multimedia\Audio\CaptureSharedTimerDriven\... |
Génération de l’exemple
Pour générer l’exemple CaptureSharedTimerDriven, procédez comme suit :
- Ouvrez l’interpréteur de commandes CMD pour le Kit de développement logiciel (SDK) Windows et passez au répertoire d’exemple CaptureSharedTimerDriven.
- Exécutez la commande
start WASAPICaptureSharedTimerDriven.sln
dans le répertoire CaptureSharedTimerDriven pour ouvrir le projet WASAPICaptureSharedTimerDriven dans la fenêtre Visual Studio. - Dans la fenêtre, sélectionnez le de débogage ou configuration de la solution Release, sélectionnez le menu build dans la barre de menus, puis sélectionnez l’option Générer. Si vous n’ouvrez pas Visual Studio à partir de l’interpréteur de commandes CMD pour le Kit de développement logiciel (SDK), Visual Studio n’aura pas accès à l’environnement de génération du SDK. Dans ce cas, l’exemple ne sera pas généré, sauf si vous définissez explicitement la variable d’environnement MSSdk, qui est utilisée dans le fichier projet, WASAPICaptureSharedTimerDriven.vcproj.
Exécution de l’exemple
Si vous générez l’application de démonstration avec succès, un fichier exécutable, WASAPICaptureSharedTimerDriven.exe, est généré. Pour l’exécuter, tapez WASAPICaptureSharedTimerDriven
dans une fenêtre de commande suivie d’arguments obligatoires ou facultatifs. L’exemple suivant montre comment exécuter l’exemple en spécifiant la durée de capture sur l’appareil multimédia par défaut.
WASAPICaptureSharedTimerDriven.exe -d 20 -multimedia
Le tableau suivant présente les arguments.
Argument | Description |
---|---|
-? | Affiche l’aide. |
-h | Affiche l’aide. |
-l | Latence de capture audio en millisecondes. |
-d | Durée de capture audio en secondes. |
-m | Désactive l’utilisation de MMCSS. |
-consoler | Utilisez l’appareil de console par défaut. |
-communications | Utilisez l’appareil de communication par défaut. |
-multimédia | Utilisez l’appareil multimédia par défaut. |
-extrémité | Utilisez l’identificateur de point de terminaison spécifié dans la valeur du commutateur. |
Si l’application est exécutée sans arguments, elle énumère les appareils disponibles et invite l’utilisateur à sélectionner un appareil pour la session de capture. La console, la communication et les appareils multimédias par défaut sont répertoriés suivis des appareils et des identificateurs de point de terminaison. Si aucune durée n’est spécifiée, le flux audio de l’appareil spécifié est capturé pendant 10 secondes. L’application écrit les données capturées dans un fichier .wav nommé de manière unique.
CaptureSharedTimerDriven illustre la mise en mémoire tampon pilotée par le minuteur. Dans ce mode, le client doit attendre une période de temps (la moitié de la latence, spécifiée par la valeur de commutateur -d, en millisecondes). Lorsque le client se réveille, à mi-chemin dans la période de traitement, il extrait le prochain ensemble d’échantillons du moteur. Avant chaque passe de traitement dans la boucle de mise en mémoire tampon, le client doit déterminer la quantité de données de capture disponibles afin que les données ne dépassent pas la mémoire tampon de capture. Les données audio capturées à partir de l’appareil spécifié peuvent être traitées en activant la mise en mémoire tampon pilotée par les événements. Ce mode est illustré dans l’exemple CaptureSharedEventDriven.
Rubriques connexes
-
exemples de sdk qui utilisent les API audio principales