[android] 안드로이드 Audio 재생 속도

안드로이드 애플리케이션을 개발하다보면 가끔씩 오디오 파일을 빨리 또는 느리게 재생해야 하는 경우가 발생할 수 있습니다. 예를 들어, 음악 앱에서 오디오를 플레이할 때 속도를 조절하거나, 음성 녹음 앱에서 녹음된 음성을 느리게 재생하는 경우가 있을 수 있습니다.

MediaPlayer를 활용한 속도 제어

Android에서는 MediaPlayer 클래스를 사용하여 오디오 파일을 재생할 수 있습니다. MediaPlayer 클래스를 사용하면 속도를 조절하여 오디오를 빠르게 또는 느리게 재생할 수 있습니다.

다음은 MediaPlayer를 사용하여 오디오를 특정 속도로 재생하는 방법을 보여주는 간단한 코드입니다.

MediaPlayer mediaPlayer = MediaPlayer.create(context, R.raw.audio_file);
float speed = 1.5f; // 1.0f는 정상 속도
mediaPlayer.setPlaybackParams(mediaPlayer.getPlaybackParams().setSpeed(speed));
mediaPlayer.start();

위의 코드에서는 먼저 MediaPlayer를 초기화하고, setSpeed() 메서드를 사용하여 특정 속도로 오디오를 재생하도록 설정하고 있습니다. 속도 1.0f는 정상 속도이며, 이 값을 조절하여 원하는 속도로 오디오를 재생할 수 있습니다.

ExoPlayer를 사용한 고급 속도 제어

ExoPlayer는 Android에서 더욱 고급스러운 미디어 재생을 위한 라이브러리로, MediaPlayer보다 더욱 다양한 기능을 제공합니다. ExoPlayer를 사용하면 좀 더 세밀한 속도 제어 및 오디오 효과 적용 등이 가능합니다.

다음은 ExoPlayer를 사용하여 오디오를 특정 속도로 재생하는 방법을 보여주는 간단한 코드입니다.

float speed = 1.5f; // 1.0f는 정상 속도
SimpleExoPlayer player = new SimpleExoPlayer.Builder(context).build();
DefaultPlaybackParameters params = new DefaultPlaybackParameters(speed);
player.setPlaybackParameters(params);
MediaItem mediaItem = MediaItem.fromUri("audio_url");
player.setMediaItem(mediaItem);
player.prepare();
player.play();

위의 코드에서는 먼저 ExoPlayer를 초기화하고, setPlaybackParameters() 메서드를 사용하여 특정 속도로 오디오를 재생하도록 설정하고 있습니다. 속도 1.0f는 정상 속도이며, 이 값을 조절하여 원하는 속도로 오디오를 재생할 수 있습니다.

안드로이드 앱에서 오디오의 재생 속도를 조절하는 방법에 대해 간단히 살펴보았습니다. MediaPlayer를 사용하면 기본적인 속도 조절이 가능하며, ExoPlayer를 활용하면 좀 더 다양한 설정이 가능합니다.

더 많은 소리 처리를 위한 고급 기술은 Android Developer 사이트에서 찾아볼 수 있습니다.