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

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

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

מתוזמן נעוץ נעול הועבר ארכיון code613m
9 פוסטים 3 כותבים 477 צפיות
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • רחמיםר מנותק
    רחמיםר מנותק
    רחמים
    כתב ב נערך לאחרונה על ידי
    #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
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
  • התחברות

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

  • התחברו או הירשמו כדי לחפש.