Laden...

wav abspielen (fehler)

Erstellt von lolipop vor 16 Jahren Letzter Beitrag vor 16 Jahren 3.652 Views
L
lolipop Themenstarter:in
8 Beiträge seit 2008
vor 16 Jahren
wav abspielen (fehler)

hallo erstmal,

ich weiss das dieses thema schon sehr oft durchgekaut worden ist und ich habe auch schon sämtlich methoden ausprobiert, aber ich habe es einfach nicht geschaft!
eigentlich möchte ich nur machen, dass wenn ich auf einen button klicke ein lied abgespielt wird. Ich habe es schon mit PlaySound probiert, ging nicht (nimmt nur 1 argument an, oder so). ich weiss einfach nicht mehr weiter. den anfang mit dll import und so, habe ich glaub richtig gemacht aber am schluss ging es einfach nicht.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Reflection;
using System.Runtime.InteropServices;

namespace WindowsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        public class wav
        {
            [DllImport("winmm.dll")]
            private static extern int mciSendString(string cmd, StringBuilder ret, int retLen, IntPtr hwnd);
            [DllImport("winmm.dll")]
            private static extern int mciGetErrorString(int errCode, StringBuilder errText, int errLen);
        }

        private void button1_Click(object sender, EventArgs e)
        {

        }
    }
}

ich hoffe das wenigstens der anfang stimmt, jetzt weiss ich nicht mehr so recht weiter...

lolipop

2.760 Beiträge seit 2006
vor 16 Jahren

Ne Exception, Code oder eine Compilermeldung würden an dieser Stelle sicher helfen 😉 So kann man nur raten was nicht geht.

C
51 Beiträge seit 2007
vor 16 Jahren

so das wär der code

O
17 Beiträge seit 2007
vor 16 Jahren

eigentlich möchte ich nur machen, dass wenn ich auf einen button klicke ein lied abgespielt wird.

Einfache Möglichkeit unter
ms-help://MS.VSCC.v80/MS.MSDN.v80/MS.VisualStudio.v80.de/dv_fxmclictl/html/3d3350b7-1ebd-4e05-a738-48ca1160a19d.htm

Klasse Soundplayer!

Oder auch noch eine Möglichkeit wäre, DirectXAudioVideoPlayback!

LG
Harry

M
231 Beiträge seit 2007
vor 16 Jahren

Kurz und knackig würde ich das so machen:


namespace SoundPlayer
{
    public partial class Form1 : Form
    {
        System.Media.SoundPlayer player;

        public Form1()
        {
            player = new System.Media.SoundPlayer();
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            OpenFileDialog open = new OpenFileDialog();
            if (open.ShowDialog() == DialogResult.OK)
            {
                if (open.FileName.EndsWith("wav"))
                {
                    player.SoundLocation = open.FileName;                 
                    player.Play();
                }
            }
        }

        private void button2_Click(object sender, EventArgs e)
        {
            player.Stop();
        }
    }
}

Gruß MB


Gruß MB

Home of DigiJay - DJ-Freeware

C
51 Beiträge seit 2007
vor 16 Jahren

danke vielmal für die antworten!

L
lolipop Themenstarter:in
8 Beiträge seit 2008
vor 16 Jahren

ähh, haste das gleiche problem gehabt oder wie? computer_case??

leider läuft es immer noch nicht so ganz:

using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace WindowsApplication1
{
    static class Program
    {
        /// <summary>
        /// Der Haupteinstiegspunkt für die Anwendung.
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Form1())
        }
    }
}

beim zwischencode oder wie der heisst, bekomme ich jetzt immer bei der bei der letzten zeile: "Application.Run(new Form1())" folgende fehler

1:

Der Typ- oder Namespacename "Form1" konnte nicht gefunden werden. (Fehlt eine using-Direktive oder ein Assemblyverweis?)

2:

Die beste Übereinstimmung für die überladene System.Windows.Forms.Application.Run(System.Windows.Forms.Form)-Methode hat einige ungültige Argumente.

3:

1-Argument: kann nicht von "Form1" in "System.Windows.Forms.Form" konvertiert werden.

49.485 Beiträge seit 2005
vor 16 Jahren
L
lolipop Themenstarter:in
8 Beiträge seit 2008
vor 16 Jahren

sry aber ich habe jetzt alles probiert, egal was ich mache, zuerst hab ich keine fehler mehr, dann plötzlich doppelt so viele...

139 Beiträge seit 2006
vor 16 Jahren

Wie sieht der Code für dein Form aus? Haben die den gleichen Namespace und wenn nicht, ist der Namespace in der Programm.cs mit using eingebunden?

Gruss Ari
Wer lesen kann ist klar im vorteil!
MSDN
Dein Feund in allen fragen

L
lolipop Themenstarter:in
8 Beiträge seit 2008
vor 16 Jahren

danke vielmal für eure antworten.
hätte ich eigentlich nicht gebraucht den das ganze programm hatte irgendwie einen kleinen fehler, geht jetzt aber wieder nach neuinstallieren.
trotzdem danke