منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
جعل الكود كمتغير للملفات الصوتية - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : جعل الكود كمتغير للملفات الصوتية (/showthread.php?tid=50716)



جعل الكود كمتغير للملفات الصوتية - أحمد فتح الرحمن - 21-11-24

السلام عليكم اخواني لدي هذا الكود لتشغيل ملف صوتي و يعمل جيدا
كود :
  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)


RE: جعل الكود كمتغير للملفات الصوتية - rdxdz - 21-11-24

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 لكتابة اسم الملف


RE: جعل الكود كمتغير للملفات الصوتية - أحمد فتح الرحمن - 22-11-24

شكرا اخي الكريم 
هل يمكن العمل على نفس الكود بارك الله فيك


RE: جعل الكود كمتغير للملفات الصوتية - عبد العزيز البسكري - 22-11-24

كود :
   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



RE: جعل الكود كمتغير للملفات الصوتية - أحمد فتح الرحمن - 22-11-24

جزيل الشكر اخي الكريم عبد العزيز البسكري
هذا ما اريد عمله بالضبط ربنا يبارك فيك يا رب


RE: جعل الكود كمتغير للملفات الصوتية - ماهر 2 - 22-11-24

سلام عليكم شباب

انا كنت استخدم نفس الطريقة تقريبا ولكن ب 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؟

ارجو المساعدة
وشكرا مقدما


RE: جعل الكود كمتغير للملفات الصوتية - asmarsou - 22-11-24

و عليكم السلام و رحمة الله و بركاته
هذا كود بنفس الفكرة لتشغيل ملفات صوتية بصيغة 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 



RE: جعل الكود كمتغير للملفات الصوتية - ماهر 2 - 22-11-24

(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
اشكرك جزبل الشكر


RE: جعل الكود كمتغير للملفات الصوتية - أحمد فتح الرحمن - 22-11-24

جزاكما الله خير اخواني في الله
asmarsou
ماهر 2