منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : جعل الكود كمتغير للملفات الصوتية
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
السلام عليكم اخواني لدي هذا الكود لتشغيل ملف صوتي و يعمل جيدا
كود :
  Public Sub PLAY_AUDIO_SOUND()
       Dim Mytone As New System.Media.SoundPlayer
       Mytone.SoundLocation = Application.StartupPath & "\FolderSound\Sound1.Wav"
       Mytone.Load()
       Mytone.Play()
   End Sub
اضفت مجموعة من الاصوات لمجلد الاصوات و اردت ان اقوم باستدعاء هذا الكود بتغيير فقط اسم الصوت 
ماذا افعل بارك الله فيكم ليصبح هذا الكود بموديل عام و استدعيه فقط و اكتب اسم الصوت مثلا
PLAY_AUDIO_SOUND(Sound1)
PLAY_AUDIO_SOUND(Sound2)
PLAY_AUDIO_SOUND(Sound3)
PHP كود :
Imports System.IO
Imports System
.Media

Public Class Form1
    Private Sub btnImport_Click
(sender As ObjectAs EventArgsHandles btnImport.Click
        Dim fileName 
As String TextBox1.Text
        Dim filePath 
As String Path.Combine("C:\", fileName & ".wav")

        If File.Exists(filePath) Then
            Dim player As New SoundPlayer(filePath)
            player.Play()
        Else
            MessageBox.Show("
File not found.")
        End If
    End Sub
End Class 

TextBox1 لكتابة اسم الملف
شكرا اخي الكريم 
هل يمكن العمل على نفس الكود بارك الله فيك
كود :
   Public Sub PLAY_AUDIO_SOUND(ByVal MyTones As String)
       Dim Mytone As New System.Media.SoundPlayer
       Mytone.SoundLocation = Application.StartupPath & "\FolderSound\" & MyTones & ".Wav"
       Mytone.Load()
       Mytone.Play()
   End Sub
كود :
  Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
       PLAY_AUDIO_SOUND("Sound1")
   End Sub
   Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
       PLAY_AUDIO_SOUND("Sound2")
   End Sub
   Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
       PLAY_AUDIO_SOUND("Sound3")
   End Sub
جزيل الشكر اخي الكريم عبد العزيز البسكري
هذا ما اريد عمله بالضبط ربنا يبارك فيك يا رب
سلام عليكم شباب

انا كنت استخدم نفس الطريقة تقريبا ولكن ب My.Computer.Audio
عدلت على نفس كود الاخ ولكن بالطريقة التي استخدمها
ارسل لها فقط رقم الصوت مثل
PLAY_AUDIO_SOUND(1)
PLAY_AUDIO_SOUND(2)
PLAY_AUDIO_SOUND(3)
كود :
   Public Sub PLAY_AUDIO_SOUND(ByVal s As Integer)
       Dim h = Application.StartupPath & "\FolderSound\"
       Select Case s
           Case 1
               My.Computer.Audio.Play(h & "Sound1.Wav")
           Case 2
               My.Computer.Audio.Play(h & "Sound2.Wav")
           Case 3
               My.Computer.Audio.Play(h & "Sound3.Wav")
       End Select
   End Sub

لكن المشكلة التي واجهتني شباب هي انها تعمل على ملفات wav فقط ولا تعمل على ملفات mp3 او mid سواء System.Media.SoundPlayer او My.Computer.Audio؟

ارجو المساعدة
وشكرا مقدما
و عليكم السلام و رحمة الله و بركاته
هذا كود بنفس الفكرة لتشغيل ملفات صوتية بصيغة mp3
PHP كود :
Public Class Form1
    Private 
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As StringByVal lpstrReturnString As StringByVal uReturnLength As IntegerByVal hwndCallback As Integer) As Integer
    Public Sub PLAY_mp3AUDIO_SOUND
(ByVal filename As String)
 
       filename Application.StartupPath "\FolderSound\" & filename & ".mp3"
        mciSendString("
close 0", Nothing, 0, 0)
        mciSendString(String.Format("
open ""{0}"" alias 0", filename), Nothing, 0, 0)
        mciSendString("
play 0", Nothing, 0, 0)
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        PLAY_mp3AUDIO_SOUND("
Sound1")
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        PLAY_mp3AUDIO_SOUND("
Sound2")
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        PLAY_mp3AUDIO_SOUND("
Sound3")
    End Sub
End Class 
(22-11-24, 12:32 PM)asmarsou كتب : [ -> ]و عليكم السلام و رحمة الله و بركاته
هذا كود بنفس الفكرة لتشغيل ملفات صوتية بصيغة mp3
PHP كود :
Public Class Form1
    Private 
Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As StringByVal lpstrReturnString As StringByVal uReturnLength As IntegerByVal hwndCallback As Integer) As Integer
    Public Sub PLAY_mp3AUDIO_SOUND
(ByVal filename As String)
 
       filename Application.StartupPath "\FolderSound\" & filename & ".mp3"
        mciSendString("
close 0", Nothing, 0, 0)
        mciSendString(String.Format("
open ""{0}"" alias 0", filename), Nothing, 0, 0)
        mciSendString("
play 0", Nothing, 0, 0)
    End Sub

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        PLAY_mp3AUDIO_SOUND("
Sound1")
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        PLAY_mp3AUDIO_SOUND("
Sound2")
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        PLAY_mp3AUDIO_SOUND("
Sound3")
    End Sub
End Class 

رائع اخي الكريم

وقد عدلت الدالة لتتماشى مع الطريقة التي استخدمها
كود :
   Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer
   Public Sub PLAY_mp3AUDIO_SOUND(ByVal s As Integer)
       Dim filename As String = ""
       Select Case s
           Case 1
               filename = Application.StartupPath & "\FolderSound\Sound01.mp3"
           Case 2
               filename = Application.StartupPath & "\FolderSound\Sound02.mp3"
           Case 3
               filename = Application.StartupPath & "\FolderSound\Sound03.mp3"
       End Select
       mciSendString("close 0", Nothing, 0, 0)
       mciSendString(String.Format("open ""{0}"" alias 0", filename), Nothing, 0, 0)
       mciSendString("play 0", Nothing, 0, 0)
   End Sub
اشكرك جزبل الشكر
جزاكما الله خير اخواني في الله
asmarsou
ماهر 2