Gewusst wie: Wiedergeben einer Wavedatei mithilfe des Plattformaufrufs (Geräte)
Aktualisiert: November 2007
Im folgenden Codebeispiel wird veranschaulicht, wie mithilfe des Plattformaufrufs (PInvoke) eine Wavedatei auf einem mobilen Gerät wiedergegeben werden kann.
Beispiel
In diesem Beispielcode wird mithilfe von PlaySound eine Sounddatei auf dem mobilen Gerät wiedergegeben. In diesem Code wird mithilfe von System.Runtime.InteropServices die PlaySound-Methode der CoreDll.DLL von Compact Framework aufgerufen.
using System;
using System.Drawing;
using System.Collections;
using System.Windows.Forms;
using System.Data;
using System.Runtime.InteropServices;
namespace MobileSoundPInvoke
{
public class Form1 : System.Windows.Forms.Form
{
private System.Windows.Forms.MainMenu mainMenu1;
public Form1()
{
InitializeComponent();
PlaySound(".\\sound.wav");
}
#region Windows Form Designer generated code
private void InitializeComponent()
{
this.mainMenu1 = new System.Windows.Forms.MainMenu();
this.Menu = this.mainMenu1;
this.Text = "Form1";
}
#endregion
protected override void Dispose(bool disposing)
{
base.Dispose(disposing);
}
static void Main()
{
Application.Run(new Form1());
}
private enum Flags
{
SND_SYNC = 0x0000,
SND_ASYNC = 0x0001,
SND_NODEFAULT = 0x0002,
SND_MEMORY = 0x0004,
SND_LOOP = 0x0008,
SND_NOSTOP = 0x0010,
SND_NOWAIT = 0x00002000,
SND_ALIAS = 0x00010000,
SND_ALIAS_ID = 0x00110000,
SND_FILENAME = 0x00020000,
SND_RESOURCE = 0x00040004
}
[DllImport("CoreDll.DLL", EntryPoint = "PlaySound", SetLastError = true)]
private extern static int MobilePlaySound(string szSound, IntPtr hMod, int flags);
public void PlaySound(string fileName)
{
MobilePlaySound(fileName, IntPtr.Zero, (int)(Flags.SND_ASYNC | Flags.SND_FILENAME));
}
}
}
Kompilieren des Codes
Erstellen Sie in Visual Studio ein neues C#-Projekt für eine Smartphone-Anwendung, und nennen Sie es MobileSoundPInvoke.
Kopieren Sie den Code aus dem vorherigen Beispiel, und fügen Sie ihn statt des bisherigen Inhalts der Datei Form1.cs des MobileSoundPInvoke-Projekts in einer Konsolenanwendung ein.
Robuste Programmierung
- Stellen Sie sicher, dass die korrekten Parameter an die CMobilePlaySound (string szSound, IntPtr hMod, int flags)-Funktion einschließlich Pfad und Dateinamen für die WAV-Datei übergeben werden.
Sicherheit
Weitere Informationen zur Sicherheit finden Sie unter .NET Framework Security.
Siehe auch
Aufgaben
Technologiebeispiel für Plattformaufrufe
Konzepte
Beispielprojekte für intelligente Geräte
Vorgehensweise beim Entwickeln intelligenter Geräte
Weitere Ressourcen
Verwenden von explizitem PInvoke in C++ (DllImport-Attribut)