मैंने एक साधारण एप्लिकेशन बनाया जो आवृत्ति की एक वर्ग लहर उत्पन्न करता है और इसे स्ट्रीम मोड (STREAM_MUSIC) में ऑडियोट्रैक का उपयोग करके चलाता है। सब कुछ और काम करने ठीक लग रहा है ध्वनि ठीक खेलता है, लेकिन जब धारा समाप्त हो गया है मैं लॉग में संदेश प्राप्त:ऑडियोट्रैक इसे रोकने के बाद भी पुनरारंभ करना
डब्ल्यू/audiotrack (7579): obtainBuffer() ट्रैक 0x14c228 विकलांग, को पुन: प्रारंभ ...
स्टॉप() फ़ंक्शन को कॉल करने के बाद भी मुझे ये मिलता है। मेरा मानना है कि मैं ऑडियोट्रैक द्वारा आवश्यक न्यूनतम आकार के आधार पर ऑडियोट्रैक बफर आकार को सही ढंग से सेट करता हूं (मेरे मामले में 6x1024)। मैं इसे 1024 शॉर्ट्स के छोटे बफर के साथ खिलाता हूं।
क्या यह ठीक है कि मुझे ये मिल रहा है और क्या मुझे इसे छोड़ देना चाहिए?
है कि बिंदु से हल किया गया है। फिर सुनिश्चित करें कि आप समय पर डेटा जेनरेट कर सकते हैं। आपके पास विलंबता होगी और यह आपके फोन (न्यूनतम बफर आकार), नमूना दर और गतिशील रिज़ॉल्यूशन पर निर्भर करता है। मैं अपना मामला (एचटीसी डिजायर) 6 केबी। यह लगभग 3000 16 बिट मोनो नमूने है। नमूना दर को ध्यान में रखते हुए आप परिणामी विलंबता की आसानी से गणना कर सकते हैं। यदि आप मूल ऑडियो एपीआई का उपयोग करते हैं तो आपको बहुत छोटी लेटेंसी मिल सकती है, लेकिन अभी भी आईफोन के छोटे 5ms से दूर है ... –