Assembly : System (dans system.dll)
Syntaxe<SerializableAttribute> _ Public Class SoundPlayer Inherits Component Implements ISerializable
Dim instance As SoundPlayer
[SerializableAttribute] public class SoundPlayer : Component, ISerializable
[SerializableAttribute] public ref class SoundPlayer : public Component, ISerializable
/** @attribute SerializableAttribute() */ public class SoundPlayer extends Component implements ISerializable
SerializableAttribute public class SoundPlayer extends Component implements ISerializable
NotesLa classe SoundPlayer fournit une interface simple pour charger et lire un fichier .wav. La classe SoundPlayer prend en charge le chargement d'un fichier .wav à partir d'un chemin d'accès, d'une URL, d'un Stream qui contient un fichier .wav, ou d'une ressource incorporée qui contient un fichier .wav.
Pour lire un son à l'aide de la classe SoundPlayer, configurez un SoundPlayer avec un chemin d'accès au fichier .wav et appelez l'une des méthodes de lecture. Vous pouvez identifier le fichier .wav à lire en utilisant l'un des constructeurs ou en définissant la propriété SoundLocation ou la propriété Stream. Le fichier peut être chargé avant la lecture en utilisant l'une des méthodes de chargement ou le chargement peut être différé jusqu'à ce que l'une des méthodes de lecture soit appelée. Un SoundPlayer configuré pour charger un fichier .wav à partir d'un Stream ou d'une URL doit le charger dans la mémoire avant que la lecture ne commence.
Vous pouvez charger ou lire un fichier .wav de façon synchrone ou de façon asynchrone. Si vous appelez une méthode de chargement ou de lecture synchrone, le thread d'appel attend le retour de la méthode, ce qui peut provoquer l'interruption de la peinture et d'autres événements. L'appel d'une méthode de chargement ou de lecture asynchrone permet au thread d'appel de poursuivre sans interruption. Pour plus d'informations sur les appels de méthodes asynchrones, consultez Comment : exécuter une opération en arrière-plan.
Lorsqu'un SoundPlayer a terminé de charger un fichier .wav, il déclenche l'événement LoadCompleted. Vous pouvez examiner le AsyncCompletedEventArgs dans votre gestionnaire d'événements pour déterminer si le chargement a réussi ou a échoué. L'événement SoundLocationChanged est déclenché lorsqu'un nouveau chemin d'accès ou une nouvelle URL est affecté à la source audio. L'événement StreamChanged est déclenché lorsqu'un nouveau Stream est affecté à la source audio. Pour plus d'informations sur la gestion des événements, consultez Consommation d'événements.
Pour plus d'informations sur SoundPlayer, consultez Vue d'ensemble de la classe SoundPlayer.
ExempleL'exemple de code suivant montre comment utiliser la classe SoundPlayer pour lire des fichiers .wav à partir d'un chemin d'accès local ou d'un URI (Uniform Resource Identifier).
Imports System Imports System.Collections Imports System.ComponentModel Imports System.Diagnostics Imports System.Drawing Imports System.Media Imports System.Windows.Forms Public Class SoundTestForm Inherits System.Windows.Forms.Form Private label1 As System.Windows.Forms.Label Private WithEvents filepathTextbox As System.Windows.Forms.TextBox Private WithEvents playOnceSyncButton As System.Windows.Forms.Button Private WithEvents playOnceAsyncButton As System.Windows.Forms.Button Private WithEvents playLoopAsyncButton As System.Windows.Forms.Button Private WithEvents selectFileButton As System.Windows.Forms.Button Private WithEvents stopButton As System.Windows.Forms.Button Private statusBar As System.Windows.Forms.StatusBar Private WithEvents loadSyncButton As System.Windows.Forms.Button Private WithEvents loadAsyncButton As System.Windows.Forms.Button Private player As SoundPlayer Public Sub New() ' Initialize Forms Designer generated code. InitializeComponent() ' Disable playback controls until a valid .wav file ' is selected. EnablePlaybackControls(False) ' Set up the status bar and other controls. InitializeControls() ' Set up the SoundPlayer object. InitializeSound() End Sub ' Sets up the status bar and other controls. Private Sub InitializeControls() ' Set up the status bar. Dim panel As New StatusBarPanel panel.BorderStyle = StatusBarPanelBorderStyle.Sunken panel.Text = "Ready." panel.AutoSize = StatusBarPanelAutoSize.Spring Me.statusBar.ShowPanels = True Me.statusBar.Panels.Add(panel) End Sub ' Sets up the SoundPlayer object. Private Sub InitializeSound() ' Create an instance of the SoundPlayer class. player = New SoundPlayer ' Listen for the LoadCompleted event. AddHandler player.LoadCompleted, AddressOf player_LoadCompleted ' Listen for the SoundLocationChanged event. AddHandler player.SoundLocationChanged, AddressOf player_LocationChanged End Sub Private Sub selectFileButton_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles selectFileButton.Click ' Create a new OpenFileDialog. Dim dlg As New OpenFileDialog ' Make sure the dialog checks for existence of the ' selected file. dlg.CheckFileExists = True ' Allow selection of .wav files only. dlg.Filter = "WAV files (*.wav)|*.wav" dlg.DefaultExt = ".wav" ' Activate the file selection dialog. If dlg.ShowDialog() = System.Windows.Forms.DialogResult.OK Then ' Get the selected file's path from the dialog. Me.filepathTextbox.Text = dlg.FileName ' Assign the selected file's path to the SoundPlayer object. player.SoundLocation = filepathTextbox.Text End If End Sub ' Convenience method for setting message text in ' the status bar. Private Sub ReportStatus(ByVal statusMessage As String) ' If the caller passed in a message... If Not (statusMessage Is Nothing) AndAlso _ statusMessage <> [String].Empty Then ' ...post the caller's message to the status bar. Me.statusBar.Panels(0).Text = statusMessage End If End Sub ' Enables and disables play controls. Private Sub EnablePlaybackControls(ByVal enabled As Boolean) Me.playOnceSyncButton.Enabled = enabled Me.playOnceAsyncButton.Enabled = enabled Me.playLoopAsyncButton.Enabled = enabled Me.stopButton.Enabled = enabled End Sub Private Sub filepathTextbox_TextChanged(ByVal sender As Object, _ ByVal e As EventArgs) Handles filepathTextbox.TextChanged ' Disable playback controls until the new .wav is loaded. EnablePlaybackControls(False) End Sub Private Sub loadSyncButton_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles loadSyncButton.Click ' Disable playback controls until the .wav is successfully ' loaded. The LoadCompleted event handler will enable them. EnablePlaybackControls(False) Try ' Assign the selected file's path to the SoundPlayer object. player.SoundLocation = filepathTextbox.Text ' Load the .wav file. player.Load() Catch ex As Exception ReportStatus(ex.Message) End Try End Sub Private Sub loadAsyncButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles loadAsyncButton.Click ' Disable playback controls until the .wav is successfully ' loaded. The LoadCompleted event handler will enable them. EnablePlaybackControls(False) Try ' Assign the selected file's path to the SoundPlayer object. player.SoundLocation = Me.filepathTextbox.Text ' Load the .wav file. player.LoadAsync() Catch ex As Exception ReportStatus(ex.Message) End Try End Sub ' Synchronously plays the selected .wav file once. ' If the file is large, UI response will be visibly ' affected. Private Sub playOnceSyncButton_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles playOnceSyncButton.Click ReportStatus("Playing .wav file synchronously.") player.PlaySync() ReportStatus("Finished playing .wav file synchronously.") End Sub ' Asynchronously plays the selected .wav file once. Private Sub playOnceAsyncButton_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles playOnceAsyncButton.Click ReportStatus("Playing .wav file asynchronously.") player.Play() End Sub ' Asynchronously plays the selected .wav file until the user ' clicks the Stop button. Private Sub playLoopAsyncButton_Click(ByVal sender As Object, _ ByVal e As System.EventArgs) Handles playLoopAsyncButton.Click ReportStatus("Looping .wav file asynchronously.") player.PlayLooping() End Sub ' Stops the currently playing .wav file, if any. Private Sub stopButton_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles stopButton.Click player.Stop() ReportStatus("Stopped by user.") End Sub ' Handler for the LoadCompleted event. Private Sub player_LoadCompleted(ByVal sender As Object, _ ByVal e As AsyncCompletedEventArgs) Dim message As String = [String].Format("LoadCompleted: {0}", _ Me.filepathTextbox.Text) ReportStatus(message) EnablePlaybackControls(True) End Sub ' Handler for the SoundLocationChanged event. Private Sub player_LocationChanged(ByVal sender As Object, _ ByVal e As EventArgs) Dim message As String = [String].Format("SoundLocationChanged: {0}", _ player.SoundLocation) ReportStatus(message) End Sub Private Sub InitializeComponent() Me.filepathTextbox = New System.Windows.Forms.TextBox Me.selectFileButton = New System.Windows.Forms.Button Me.label1 = New System.Windows.Forms.Label Me.loadSyncButton = New System.Windows.Forms.Button Me.playOnceSyncButton = New System.Windows.Forms.Button Me.playOnceAsyncButton = New System.Windows.Forms.Button Me.stopButton = New System.Windows.Forms.Button Me.playLoopAsyncButton = New System.Windows.Forms.Button Me.statusBar = New System.Windows.Forms.StatusBar Me.loadAsyncButton = New System.Windows.Forms.Button Me.SuspendLayout() ' ' filepathTextbox ' Me.filepathTextbox.Anchor = CType(System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Left Or System.Windows.Forms.AnchorStyles.Right, System.Windows.Forms.AnchorStyles) Me.filepathTextbox.Location = New System.Drawing.Point(7, 25) Me.filepathTextbox.Name = "filepathTextbox" Me.filepathTextbox.Size = New System.Drawing.Size(263, 20) Me.filepathTextbox.TabIndex = 1 Me.filepathTextbox.Text = "" ' ' selectFileButton ' Me.selectFileButton.Anchor = CType(System.Windows.Forms.AnchorStyles.Top Or System.Windows.Forms.AnchorStyles.Right, System.Windows.Forms.AnchorStyles) Me.selectFileButton.Location = New System.Drawing.Point(276, 25) Me.selectFileButton.Name = "selectFileButton" Me.selectFileButton.Size = New System.Drawing.Size(23, 21) Me.selectFileButton.TabIndex = 2 Me.selectFileButton.Text = "..." ' ' label1 ' Me.label1.Location = New System.Drawing.Point(7, 7) Me.label1.Name = "label1" Me.label1.Size = New System.Drawing.Size(145, 17) Me.label1.TabIndex = 3 Me.label1.Text = ".wav path or URL:" ' ' loadSyncButton ' Me.loadSyncButton.Location = New System.Drawing.Point(7, 53) Me.loadSyncButton.Name = "loadSyncButton" Me.loadSyncButton.Size = New System.Drawing.Size(142, 23) Me.loadSyncButton.TabIndex = 4 Me.loadSyncButton.Text = "Load Synchronously" ' ' playOnceSyncButton ' Me.playOnceSyncButton.Location = New System.Drawing.Point(7, 86) Me.playOnceSyncButton.Name = "playOnceSyncButton" Me.playOnceSyncButton.Size = New System.Drawing.Size(142, 23) Me.playOnceSyncButton.TabIndex = 5 Me.playOnceSyncButton.Text = "Play Once Synchronously" ' ' playOnceAsyncButton ' Me.playOnceAsyncButton.Location = New System.Drawing.Point(149, 86) Me.playOnceAsyncButton.Name = "playOnceAsyncButton" Me.playOnceAsyncButton.Size = New System.Drawing.Size(147, 23) Me.playOnceAsyncButton.TabIndex = 6 Me.playOnceAsyncButton.Text = "Play Once Asynchronously" ' ' stopButton ' Me.stopButton.Location = New System.Drawing.Point(149, 109) Me.stopButton.Name = "stopButton" Me.stopButton.Size = New System.Drawing.Size(147, 23) Me.stopButton.TabIndex = 7 Me.stopButton.Text = "Stop" ' ' playLoopAsyncButton ' Me.playLoopAsyncButton.Location = New System.Drawing.Point(7, 109) Me.playLoopAsyncButton.Name = "playLoopAsyncButton" Me.playLoopAsyncButton.Size = New System.Drawing.Size(142, 23) Me.playLoopAsyncButton.TabIndex = 8 Me.playLoopAsyncButton.Text = "Loop Asynchronously" ' ' statusBar ' Me.statusBar.Location = New System.Drawing.Point(0, 146) Me.statusBar.Name = "statusBar" Me.statusBar.Size = New System.Drawing.Size(306, 22) Me.statusBar.SizingGrip = False Me.statusBar.TabIndex = 9 Me.statusBar.Text = "(no status)" ' ' loadAsyncButton ' Me.loadAsyncButton.Location = New System.Drawing.Point(149, 53) Me.loadAsyncButton.Name = "loadAsyncButton" Me.loadAsyncButton.Size = New System.Drawing.Size(147, 23) Me.loadAsyncButton.TabIndex = 10 Me.loadAsyncButton.Text = "Load Asynchronously" ' ' SoundTestForm ' Me.ClientSize = New System.Drawing.Size(306, 168) Me.Controls.Add(loadAsyncButton) Me.Controls.Add(statusBar) Me.Controls.Add(playLoopAsyncButton) Me.Controls.Add(stopButton) Me.Controls.Add(playOnceAsyncButton) Me.Controls.Add(playOnceSyncButton) Me.Controls.Add(loadSyncButton) Me.Controls.Add(label1) Me.Controls.Add(selectFileButton) Me.Controls.Add(filepathTextbox) Me.MinimumSize = New System.Drawing.Size(310, 165) Me.Name = "SoundTestForm" Me.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show Me.Text = "Sound API Test Form" Me.ResumeLayout(False) End Sub 'InitializeComponent <STAThread()> _ Shared Sub Main() Application.Run(New SoundTestForm) End Sub End Class 'SoundTestForm
using System; using System.Collections; using System.ComponentModel; using System.Diagnostics; using System.Drawing; using System.Media; using System.Windows.Forms; namespace SoundApiExample { public class SoundTestForm : System.Windows.Forms.Form { private System.Windows.Forms.Label label1; private System.Windows.Forms.TextBox filepathTextbox; private System.Windows.Forms.Button playOnceSyncButton; private System.Windows.Forms.Button playOnceAsyncButton; private System.Windows.Forms.Button playLoopAsyncButton; private System.Windows.Forms.Button selectFileButton; private System.Windows.Forms.Button stopButton; private System.Windows.Forms.StatusBar statusBar; private System.Windows.Forms.Button loadSyncButton; private System.Windows.Forms.Button loadAsyncButton; private SoundPlayer player; public SoundTestForm() { // Initialize Forms Designer generated code. InitializeComponent(); // Disable playback controls until a valid .wav file // is selected. EnablePlaybackControls(false); // Set up the status bar and other controls. InitializeControls(); // Set up the SoundPlayer object. InitializeSound(); } // Sets up the status bar and other controls. private void InitializeControls() { // Set up the status bar. StatusBarPanel panel = new StatusBarPanel(); panel.BorderStyle = StatusBarPanelBorderStyle.Sunken; panel.Text = "Ready."; panel.AutoSize = StatusBarPanelAutoSize.Spring; this.statusBar.ShowPanels = true; this.statusBar.Panels.Add(panel); } // Sets up the SoundPlayer object. private void InitializeSound() { // Create an instance of the SoundPlayer class. player = new SoundPlayer(); // Listen for the LoadCompleted event. player.LoadCompleted += new AsyncCompletedEventHandler(player_LoadCompleted); // Listen for the SoundLocationChanged event. player.SoundLocationChanged += new EventHandler(player_LocationChanged); } private void selectFileButton_Click(object sender, System.EventArgs e) { // Create a new OpenFileDialog. OpenFileDialog dlg = new OpenFileDialog(); // Make sure the dialog checks for existence of the // selected file. dlg.CheckFileExists = true; // Allow selection of .wav files only. dlg.Filter = "WAV files (*.wav)|*.wav"; dlg.DefaultExt = ".wav"; // Activate the file selection dialog. if (dlg.ShowDialog() == DialogResult.OK) { // Get the selected file's path from the dialog. this.filepathTextbox.Text = dlg.FileName; // Assign the selected file's path to // the SoundPlayer object. player.SoundLocation = filepathTextbox.Text; } } // Convenience method for setting message text in // the status bar. private void ReportStatus(string statusMessage) { // If the caller passed in a message... if ((statusMessage != null) && (statusMessage != String.Empty)) { // ...post the caller's message to the status bar. this.statusBar.Panels[0].Text = statusMessage; } } // Enables and disables play controls. private void EnablePlaybackControls(bool enabled) { this.playOnceSyncButton.Enabled = enabled; this.playOnceAsyncButton.Enabled = enabled; this.playLoopAsyncButton.Enabled = enabled; this.stopButton.Enabled = enabled; } private void filepathTextbox_TextChanged(object sender, EventArgs e) { // Disable playback controls until the new .wav is loaded. EnablePlaybackControls(false); } private void loadSyncButton_Click(object sender, System.EventArgs e) { // Disable playback controls until the .wav is // successfully loaded. The LoadCompleted event // handler will enable them. EnablePlaybackControls(false); try { // Assign the selected file's path to // the SoundPlayer object. player.SoundLocation = filepathTextbox.Text; // Load the .wav file. player.Load(); } catch (Exception ex) { ReportStatus(ex.Message); } } private void loadAsyncButton_Click(System.Object sender, System.EventArgs e) { // Disable playback controls until the .wav is // successfully loaded. The LoadCompleted event // handler will enable them. EnablePlaybackControls(false); try { // Assign the selected file's path to // the SoundPlayer object. player.SoundLocation = this.filepathTextbox.Text; // Load the .wav file. player.LoadAsync(); } catch (Exception ex) { ReportStatus(ex.Message); } } // Synchronously plays the selected .wav file once. // If the file is large, UI response will be visibly // affected. private void playOnceSyncButton_Click(object sender, System.EventArgs e) { ReportStatus("Playing .wav file synchronously."); player.PlaySync(); ReportStatus("Finished playing .wav file synchronously."); } // Asynchronously plays the selected .wav file once. private void playOnceAsyncButton_Click(object sender, System.EventArgs e) { ReportStatus("Playing .wav file asynchronously."); player.Play(); } // Asynchronously plays the selected .wav file until the user // clicks the Stop button. private void playLoopAsyncButton_Click(object sender, System.EventArgs e) { ReportStatus("Looping .wav file asynchronously."); player.PlayLooping(); } // Stops the currently playing .wav file, if any. private void stopButton_Click(System.Object sender, System.EventArgs e) { player.Stop(); ReportStatus("Stopped by user."); } // Handler for the LoadCompleted event. private void player_LoadCompleted(object sender, AsyncCompletedEventArgs e) { string message = String.Format("LoadCompleted: {0}", this.filepathTextbox.Text); ReportStatus(message); EnablePlaybackControls(true); } // Handler for the SoundLocationChanged event. private void player_LocationChanged(object sender, EventArgs e) { string message = String.Format("SoundLocationChanged: {0}", player.SoundLocation); ReportStatus(message); } #region Windows Form Designer generated code private void InitializeComponent() { this.filepathTextbox = new System.Windows.Forms.TextBox(); this.selectFileButton = new System.Windows.Forms.Button(); this.label1 = new System.Windows.Forms.Label(); this.loadSyncButton = new System.Windows.Forms.Button(); this.playOnceSyncButton = new System.Windows.Forms.Button(); this.playOnceAsyncButton = new System.Windows.Forms.Button(); this.stopButton = new System.Windows.Forms.Button(); this.playLoopAsyncButton = new System.Windows.Forms.Button(); this.statusBar = new System.Windows.Forms.StatusBar(); this.loadAsyncButton = new System.Windows.Forms.Button(); this.SuspendLayout(); // // filepathTextbox // this.filepathTextbox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); this.filepathTextbox.Location = new System.Drawing.Point(7, 25); this.filepathTextbox.Name = "filepathTextbox"; this.filepathTextbox.Size = new System.Drawing.Size(263, 20); this.filepathTextbox.TabIndex = 1; this.filepathTextbox.Text = ""; this.filepathTextbox.TextChanged += new System.EventHandler(this.filepathTextbox_TextChanged); // // selectFileButton // this.selectFileButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); this.selectFileButton.Location = new System.Drawing.Point(276, 25); this.selectFileButton.Name = "selectFileButton"; this.selectFileButton.Size = new System.Drawing.Size(23, 21); this.selectFileButton.TabIndex = 2; this.selectFileButton.Text = "..."; this.selectFileButton.Click += new System.EventHandler(this.selectFileButton_Click); // // label1 // this.label1.Location = new System.Drawing.Point(7, 7); this.label1.Name = "label1"; this.label1.Size = new System.Drawing.Size(145, 17); this.label1.TabIndex = 3; this.label1.Text = ".wav path or URL:"; // // loadSyncButton // this.loadSyncButton.Location = new System.Drawing.Point(7, 53); this.loadSyncButton.Name = "loadSyncButton"; this.loadSyncButton.Size = new System.Drawing.Size(142, 23); this.loadSyncButton.TabIndex = 4; this.loadSyncButton.Text = "Load Synchronously"; this.loadSyncButton.Click += new System.EventHandler(this.loadSyncButton_Click); // // playOnceSyncButton // this.playOnceSyncButton.Location = new System.Drawing.Point(7, 86); this.playOnceSyncButton.Name = "playOnceSyncButton"; this.playOnceSyncButton.Size = new System.Drawing.Size(142, 23); this.playOnceSyncButton.TabIndex = 5; this.playOnceSyncButton.Text = "Play Once Synchronously"; this.playOnceSyncButton.Click += new System.EventHandler(this.playOnceSyncButton_Click); // // playOnceAsyncButton // this.playOnceAsyncButton.Location = new System.Drawing.Point(149, 86); this.playOnceAsyncButton.Name = "playOnceAsyncButton"; this.playOnceAsyncButton.Size = new System.Drawing.Size(147, 23); this.playOnceAsyncButton.TabIndex = 6; this.playOnceAsyncButton.Text = "Play Once Asynchronously"; this.playOnceAsyncButton.Click += new System.EventHandler(this.playOnceAsyncButton_Click); // // stopButton // this.stopButton.Location = new System.Drawing.Point(149, 109); this.stopButton.Name = "stopButton"; this.stopButton.Size = new System.Drawing.Size(147, 23); this.stopButton.TabIndex = 7; this.stopButton.Text = "Stop"; this.stopButton.Click += new System.EventHandler(this.stopButton_Click); // // playLoopAsyncButton // this.playLoopAsyncButton.Location = new System.Drawing.Point(7, 109); this.playLoopAsyncButton.Name = "playLoopAsyncButton"; this.playLoopAsyncButton.Size = new System.Drawing.Size(142, 23); this.playLoopAsyncButton.TabIndex = 8; this.playLoopAsyncButton.Text = "Loop Asynchronously"; this.playLoopAsyncButton.Click += new System.EventHandler(this.playLoopAsyncButton_Click); // // statusBar // this.statusBar.Location = new System.Drawing.Point(0, 146); this.statusBar.Name = "statusBar"; this.statusBar.Size = new System.Drawing.Size(306, 22); this.statusBar.SizingGrip = false; this.statusBar.TabIndex = 9; this.statusBar.Text = "(no status)"; // // loadAsyncButton // this.loadAsyncButton.Location = new System.Drawing.Point(149, 53); this.loadAsyncButton.Name = "loadAsyncButton"; this.loadAsyncButton.Size = new System.Drawing.Size(147, 23); this.loadAsyncButton.TabIndex = 10; this.loadAsyncButton.Text = "Load Asynchronously"; this.loadAsyncButton.Click += new System.EventHandler(this.loadAsyncButton_Click); // // SoundTestForm // this.ClientSize = new System.Drawing.Size(306, 168); this.Controls.Add(this.loadAsyncButton); this.Controls.Add(this.statusBar); this.Controls.Add(this.playLoopAsyncButton); this.Controls.Add(this.stopButton); this.Controls.Add(this.playOnceAsyncButton); this.Controls.Add(this.playOnceSyncButton); this.Controls.Add(this.loadSyncButton); this.Controls.Add(this.label1); this.Controls.Add(this.selectFileButton); this.Controls.Add(this.filepathTextbox); this.MinimumSize = new System.Drawing.Size(310, 165); this.Name = "SoundTestForm"; this.SizeGripStyle = System.Windows.Forms.SizeGripStyle.Show; this.Text = "Sound API Test Form"; this.ResumeLayout(false); } #endregion [STAThread] static void Main() { Application.Run(new SoundTestForm()); } } }
Sécurité des threads
Plates-formesWindows 98, Windows 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition
Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.
Voir aussiRéférence
Membres SoundPlayerSystem.Media, espace de noms
SystemSounds
Outils (masquer)
S'enregistrer
Liste des Membres
Qui est en ligne?
FAQ