मुख्य कंटेंट तक स्किप करें

स्ट्रीमिंग साउंड वेव

वॉइस एक्टिविटी डिटेक्शन (VAD) के लिए, इस पेज को देखें।

एक स्ट्रीमिंग साउंड वेव एक प्रकार का इम्पोर्टेड साउंड वेव है जो डायनामिक रूप से ऑडियो डेटा जोड़ने का सपोर्ट करता है, यहां तक कि प्लेबैक के दौरान भी। यह इम्पोर्टेड साउंड वेव की तरह ही फंक्शनैलिटी प्रदान करता है, जैसे रिवाइंडिंग, और इसे साउंडक्यूज़ आदि में इस्तेमाल किया जा सकता है।

स्ट्रीमिंग साउंड वेव बनाना

सबसे पहले आपको एक स्ट्रीमिंग साउंड वेव बनाना चाहिए। कृपया ध्यान दें कि आपको इसे एक स्ट्रॉंग रेफरेंस के रूप में ट्रीट करना चाहिए ताकि समय से पहले डिस्ट्रक्शन न हो (जैसे ब्लूप्रिंट्स में इसे एक अलग वेरिएबल में असाइन करके या C++ में UPROPERTY() का उपयोग करके)।

Create Streaming Sound Wave node

ध्वनि तरंग बजाना

आप फिर उस ध्वनि तरंग को बजा सकते हैं। हालांकि, अभी ऐसा करना आवश्यक नहीं है, आप बाद में ध्वनि तरंग बजाना शुरू कर सकते हैं।

ध्वनि तरंग बजाने के विभिन्न उदाहरण

ऑडियो डेटा का पूर्व-आवंटन

वैकल्पिक रूप से, आप ऑडियो डेटा (बाइट्स) को पूर्व-आवंटित कर सकते हैं ताकि हर बार नया ऑडियो डेटा जोड़ने पर पूरे PCM बफर को फिर से आवंटित करने से बचा जा सके।

Pre Allocate Audio Data नोड

ऑडियो डेटा जोड़ना

मौजूदा बफर के अंत में ऑडियो डेटा जोड़ने के लिए, डायनामिक रूप से ऑडियो डेटा जोड़ने के लिए उपयुक्त फ़ंक्शन का उपयोग करें। प्लेबैक इन अपेंड्स के क्यू अनुक्रम का पालन करेगा।

Append Audio Data node

त्वरित ऑडियो प्लेबैक से बचना

अक्सर, जब आपको ऑडियो डेटा स्ट्रीम करने और एक साथ प्ले करने की आवश्यकता होती है, तो प्लेबैक से पहले थोड़ी देरी जोड़नी चाहिए ताकि बफर के बहुत तेजी से भरने के कारण त्वरित ऑडियो से बचा जा सके। आमतौर पर लगभग आधे सेकंड की देरी की सिफारिश की जाती है।

उदाहरण उपयोग

अंत में, आपका कार्यान्वयन इस तरह दिख सकता है:

स्ट्रीमिंग साउंड वेव का उपयोग करने का एक उदाहरण

ऑन पॉप्युलेट ऑडियो स्टेट

OnPopulateAudioState डेलिगेट OnPopulateAudioData के समान कार्य करता है लेकिन पॉप्युलेट किए गए ऑडियो डेटा को प्रसारित नहीं करता है। यह तब उपयोगी हो सकता है जब आप ऑडियो डेटा के पॉप्युलेट होने को ट्रैक करना चाहते हैं बिना पॉप्युलेट किए गए ऑडियो डेटा की एक सरणी पास किए, जो प्रदर्शन में सुधार कर सकता है।

On Populate Audio State delegate

PCM डेटा के साथ कार्य करना

प्लेबैक के दौरान PCM डेटा तक रियल-टाइम पहुंच के लिए, PCM डेटा हैंडलिंग देखें।