यह अजीब है लेकिन यह मेरा प्रोजेक्ट हैआवश्यकता। अपने प्रोजेक्ट में मैं ऑडियो सप्रेशन वाला वीडियो चलाना चाहता हूं। ऑडियो के लिए हमारे पास एक और योजना है। तो मैं एक वीडियो चलाने के लिए VideoView का उपयोग कर सकता हूं। लेकिन यह उस फाइल का ऑडियो भी बजाता है (जिसकी मुझे आवश्यकता नहीं है)। तो मैं इस अजीब आवश्यकता को कैसे प्राप्त कर सकता हूं, अर्थात् ऑडियो के बिना वीडियो चला रहा हूं। http://developer.android.com/reference/android/widget/VideoView.html
उत्तर:
उत्तर № 1 के लिए 1यह लिंक ऑडियो के साथ या बिना वीडियो चलाने के लिए उपयोगकर्ता को विकल्प की आपूर्ति करना मेरे वीडियो की ध्वनि को म्यूट करने में मेरी मदद की। फिर MediaExtractor, AudioTrack API (ओं) का उपयोग करके मैं फ़ाइल से ऑडियो नमूने निकाल सकता हूं और फिर मैं AudioTrack ऑब्जेक्ट का उपयोग करके उन निकाले गए नमूनों को चला सकता हूं। केवल एहतियात जो मुझे लेना है, ऑडियोट्रैक ऑब्जेक्ट का उपयोग करते समय AudioManager.STREAM_RING को बनाते हैं
audioTrack= new AudioTrack(AudioManager.STREAM_RING, 44100, AudioFormat.CHANNEL_OUT_STEREO, AudioFormat.ENCODING_PCM_16BIT, 44100, AudioTrack.MODE_STREAM);
इसलिए videoView मेरा वीडियो चलाता है, लेकिन मैं ऑडियो को सुन नहीं सकता क्योंकि STREAM_MUSIC मूक में है, ऑडियोट्रैक ऑब्जेक्ट मेरे ऑडियो को अलग से चलाता है।
उत्तर № 2 के लिए 1
मेरी राय में ऐसा करने का सबसे अच्छा तरीका वीडियो तैयार होने पर वॉल्यूम 0 पर सेट करना है। अन्य सभी समाधान जो मैंने पाया है कि अपग्रेड किए गए एपीआई का उपयोग होता है जो पूरे सिस्टम को म्यूट करता है।
यह एक सरल उपाय है
VideoView videoPreview = (VideoView) findViewById(R.id.video_view);
videoPreview.setOnPreparedListener(
new MediaPlayer.OnPreparedListener()
{
@Override
public void onPrepared(MediaPlayer mp)
{
mp.setVolume(0f, 0f);
}
}
);