只有视频,没有音频

时间:2013-12-27 07:02:14

标签: android

这很奇怪,但这是我的项目要求。在我的项目中,我想播放带有音频抑制功能的视频。对于音频,我们有另一个计划。所以我可以使用VideoView播放视频。但这也播放该文件的音频(这对我来说不是必需的)。那么我怎样才能达到这个奇怪的要求,即播放没有音频的视频。 http://developer.android.com/reference/android/widget/VideoView.html

2 个答案:

答案 0 :(得分:3)

在我看来,最好的方法是在视频准备就绪时将音量设置为0。我发现的所有其他解决方案都暗示使用不推荐使用的API可以使整个系统静音。

这是一个简单的解决方案

VideoView videoPreview = (VideoView) findViewById(R.id.video_view);
        videoPreview.setOnPreparedListener(
                new MediaPlayer.OnPreparedListener()
                {
                    @Override
                    public void onPrepared(MediaPlayer mp)
                    {
                        mp.setVolume(0f, 0f);
                    }
                }
        );

答案 1 :(得分:1)

此链接 Supplying option to user to play video with or without audio帮助我将视频的声音静音。然后通过使用MediaExtractor,AudioTrack API,我可以从文件中提取音频样本,然后我可以使用AudioTrack对象播放这些提取的样本。我必须采取的预防措施是在创建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处于静音状态,audioTrack对象分别播放我的音频。