דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. ניגון שני קבצי wav בו זמנית

ניגון שני קבצי wav בו זמנית

מתוזמן נעוץ נעול הועבר ארכיון code613m
9 פוסטים 3 כותבים 564 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים מורחק
    כתב ב נערך לאחרונה על ידי
    #1

    כתבתי קוד כזה:

    Dim MyThread As Threading.Thread
    
        Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
            MyThread = New Threading.Thread(AddressOf Play)
            MyThread.Start()
            Threading.Thread.Sleep(1000)
            MyThread = New Threading.Thread(AddressOf Play)
            MyThread.Start()
        End Sub
    
        Sub Play()
            Dim SP As New System.Media.SoundPlayer()
            SP.Stream = File.OpenRead("C:\F.WAV")
            SP.Play()
        End Sub
    

    אולם כאשר מתחילה ההשמעה השניה הראשונה נפסקת משום מה, יש לציין שאם אני מריץ את התוכנה כמה פעמים כל תוכנה משמיעה את הקובץ בלא להפסיק את השמעת הקובץ שתוכנה אחרת משמיעה, ואילו בקוד הנ''ל אע''פ שכל השמעה היא ב Thread נפרד הרי שהשמעה אחת מפריעה לשניה.
    תודה לכל המסייעים.

    פורסם במקור בפורום CODE613 ב16/08/2013 14:25 (+03:00)

    תגובה 1 תגובה אחרונה
    0
    • dovidD מנותק
      dovidD מנותק
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      עם הפונקצייה System.Media.SoundPlayer כנראה אי אפשר.
      תנסה עם DIrectX, או עם המדיה פלייר של Windows.

      פורסם במקור בפורום CODE613 ב18/08/2013 11:29 (+03:00)

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      0
      • רחמיםר מנותק
        רחמיםר מנותק
        רחמים מורחק
        כתב ב נערך לאחרונה על ידי
        #3

        מה ההבדל בין שני Threads באותה תוכנית לבין תוכנית אחת שנפתחה פעמיים? מדוע הSoundPlayer לא נותן כאן וכן נותן כאן?

        פורסם במקור בפורום CODE613 ב19/08/2013 21:32 (+03:00)

        תגובה 1 תגובה אחרונה
        0
        • M מנותק
          M מנותק
          magicode
          כתב ב נערך לאחרונה על ידי
          #4

          בקוד שלך אתה דורס את הטריד הראשון.

          תנסה להכניס אותו למשתנה אחר. אולי זה הסיבה לעצירה.

          פורסם במקור בפורום CODE613 ב19/08/2013 21:54 (+03:00)

          תגובה 1 תגובה אחרונה
          0
          • רחמיםר מנותק
            רחמיםר מנותק
            רחמים מורחק
            כתב ב נערך לאחרונה על ידי
            #5

            הנה גם זה לא משמיע את שניהם ביחד:

            Dim MyThread As Threading.Thread
                Dim MyThread2 As Threading.Thread
            
                Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
                    MyThread = New Threading.Thread(AddressOf Play)
                    MyThread.Start()
                    Threading.Thread.Sleep(900)
                    MyThread2 = New Threading.Thread(AddressOf Play2)
                    MyThread2.Start()
                End Sub
            
                Sub Play2()
                    Dim SP As New System.Media.SoundPlayer()
                    SP.Stream = File.OpenRead("C:\F.WAV")
                    SP.Play()
                End Sub
            
                Sub Play()
                    Dim SP As New System.Media.SoundPlayer()
                    SP.Stream = File.OpenRead("C:\F.WAV")
                    SP.Play()
                End Sub
            

            פורסם במקור בפורום CODE613 ב19/08/2013 22:19 (+03:00)

            תגובה 1 תגובה אחרונה
            0
            • dovidD מנותק
              dovidD מנותק
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #6

              @magicode

              בקוד שלך אתה דורס את הטריד הראשון.
              תנסה להכניס אותו למשתנה אחר. אולי זה הסיבה לעצירה.

              זה דורס רק את המצביע. הטרייד הראשון לא מושפע בכלל עד לסיום חייו.

              @רחמים

              מה ההבדל בין שני Threads באותה תוכנית לבין תוכנית אחת שנפתחה פעמיים? מדוע הSoundPlayer לא נותן כאן וכן נותן כאן?

              השאלה מצויינת...
              כנראה הוא משותף (Shared) לכל הApplicationDomain בקיצור, פר אפילקציה. אבל אתה לא תיצור נוספת רק להשמע סימולטנית...
              לכן עניתי לך מה שעניתי.

              פורסם במקור בפורום CODE613 ב20/08/2013 11:03 (+03:00)

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              0
              • רחמיםר מנותק
                רחמיםר מנותק
                רחמים מורחק
                כתב ב נערך לאחרונה על ידי
                #7

                @דוד ל.ט.

                כנראה הוא משותף (Shared) לכל הApplicationDomain בקיצור, פר אפילקציה. אבל אתה לא תיצור נוספת רק להשמע סימולטנית...
                לכן עניתי לך מה שעניתי.

                לפי מה שאתה אומר אז הפתרון הוא לעשות טריד לא משותף, לא? וא''כ איך עושים טרידים לא משותפים?

                פורסם במקור בפורום CODE613 ב20/08/2013 11:41 (+03:00)

                תגובה 1 תגובה אחרונה
                0
                • dovidD מנותק
                  dovidD מנותק
                  dovid ניהול
                  כתב ב נערך לאחרונה על ידי
                  #8

                  @רחמים

                  @דוד ל.ט.
                  כנראה הוא משותף (Shared) לכל הApplicationDomain בקיצור, פר אפילקציה. אבל אתה לא תיצור נוספת רק להשמע סימולטנית...

                  לכן עניתי לך מה שעניתי.

                  לפי מה שאתה אומר אז הפתרון הוא לעשות טריד לא משותף, לא? וא''כ איך עושים טרידים לא משותפים?

                  מה שאתה אומר כתבתי מפורש שאינו פיתרון לדעתי ("פר אפילקציה. אבל אתה לא תיצור נוספת רק להשמע סימולטנית...").
                  ומה שכן פיתרון לדעתי גם כבר כתבתי לעיל.

                  פורסם במקור בפורום CODE613 ב20/08/2013 13:33 (+03:00)

                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                  תגובה 1 תגובה אחרונה
                  0
                  • רחמיםר מנותק
                    רחמיםר מנותק
                    רחמים מורחק
                    כתב ב נערך לאחרונה על ידי
                    #9

                    @דוד ל.ט.

                    מה שאתה אומר כתבתי מפורש שאינו פיתרון לדעתי

                    לפני שאנסה את הפתרונות האחרים: מדוע זה אינו פתרון טוב? הבא ננסה.

                    פורסם במקור בפורום CODE613 ב20/08/2013 13:52 (+03:00)

                    תגובה 1 תגובה אחרונה
                    0

                    בא תתחבר לדף היומי!
                    • התחברות

                    • אין לך חשבון עדיין? הרשמה

                    • התחברו או הירשמו כדי לחפש.
                    • פוסט ראשון
                      פוסט אחרון
                    0
                    • דף הבית
                    • קטגוריות
                    • פוסטים אחרונים
                    • משתמשים
                    • חיפוש
                    • חוקי הפורום