전 API에서 21 회 설계된 Android 프로그래밍 비디오 강의 시리즈를 따르고 있습니다. 따라서 다음과 같은 방식으로 SoundPool 변수를 생성하라고 알려줍니다.API 21 용 SoundPool.Builder 클래스의 오디오 속성을 설정합니다.
SoundPool sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
//SoundPool(int maxStreams, int streamType, int srcQuality)
그러나 API 21에도이 SoundPool을 사용하고 싶습니다. 그래서, 나는이 일을하고있다 :
if((android.os.Build.VERSION.SDK_INT) == 21){
sp21 = new SoundPool.Builder();
sp21.setMaxStreams(5);
sp = sp21.build();
}
else{
sp = new SoundPool(5, AudioManager.STREAM_MUSIC, 0);
}
SP21은 API (21)와 SP SoundPool
유형 인에 대한 Builder
유형의 변수입니다.
이것은 API 21을 사용하는 실제 AVD와 API 19를 사용하는 실제 장치에서 잘 작동합니다. API 21이 포함 된 실제 장치로 시도하지는 않았지만 잘 작동한다고 생각합니다. 이제 sp = sp21.build();
전에 streamType
을 if 블록에 USAGE_MEDIA
으로 설정하고 싶습니다.
sp21.setAudioAttributes(AudioAttributes.USAGE_MEDIA);
그러나 린트는 빨간색으로 표시하고 말한다 : 그래서 입력 유형 SoundPool.Builder에서
메소드 setAudioAttributes (AudioAttributes)는 인수 (INT)
적용 할 수 없습니다
내가 USAGE_MEDIA로 설정하지 않더라도 기본적으로 동일한 것으로 설정됩니다. 그러나 USAGE_ALARM과 같은 다른 것으로 설정해야한다면 나중에 참조 할 것을 요구합니다.
어떻게해야합니까?
제발 도와주세요!
나는 Audio Attributes, SoundPool, SoundPool.builder 및 AudioManager을 참조했다.
라인 # 3 –