MediaPlayer 클래스가 재생 속도 변경을 지원하지 않는다는 것을 알아 냈습니다. 나는 Soundpool을 시도했으나 작동하지만, 속도를 0.5f로 낮추면 피치가 이상하게 느껴진다 (낮은 피치). 나는 속도를 바꾸고 싶지만 동일한 오디오 특성을 유지하여 속도를 늦추면 오디오가 늘어나지 만 피치를 낮추지는 않습니다. 가장 좋은 날은 무엇입니까? 어떤 도움을 주셔서 미리 감사드립니다! 이 웹 사이트 밖으로Android에서 오디오를 느리게하고 늘리는 방법은 무엇입니까?
4
A
답변
1
는 "PitchTech 연구 프로젝트는 자바로 구현 된 높은 품질의 오디오 변환을 제공하는 것을 목표로하고있다." 자체 연구 자료를 구현하거나 구현 된 오디오 변환 중 하나를 사용할 수있는 충분한 정보가 포함 된 수많은 연구 기사를 제공합니다.
Google 검색을 사용하여 발견했습니다 : Audio transformations Stretch.
1
이것은 다소 유용 할 수 있습니다. 모든 것을 시도한 후 SoundPool을 사용하여 피치를 변경하기로 결정했습니다. 재생 속도를 2.0으로 설정하면 원래 주파수의 두 배에서 재생할 수 있고 재생 속도를 0.5로하면 원래 주파수의 절반으로 재생합니다. 재생 속도 범위는 0.5 ~ 2.0입니다. 하지만 0.5와 2.0보다 낮은 주파수에서 작동했습니다.
내 작업 코드를 게시하고,
하지만 그냥 데모 목적을 위해, 여기에 수동으로 "재생 속도"를 변경해야로서, 매번 당신이 예에 대한 응용 프로그램 설치 : "sp.play (폭발, 1,1,0,0,1.5f) "여기에서"1.5f "는 재생 속도입니다. 하나는 쉽게 EditView, 또는 실행 시간에 재생 속도의 값을 설정 비슷한 비슷한 만들 수 있습니다.이 앱에서는 설정된 재생 속도로 음악을 재생하기 위해 앱의 화면을 탭하면됩니다.
import java.io.IOException;
import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.media.AudioManager;
import android.media.SoundPool;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
public class SoundPoolActivity extends Activity implements OnClickListener {
SoundPool sp;
int explosion = 0;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View v = new View(this);
v.setOnClickListener(this);
setContentView(v);
sp = new SoundPool(1,AudioManager.STREAM_MUSIC,0);
//explosion = sp.load(this, R.raw.hh,0);
explosion = sp.load("/sdcard/hh.m4a",0);
}
public void onClick(View v){
if (explosion!=0){
sp.play(explosion, 1,1,0,0,2.3f);
}
}
}
관련 문제
- 1. NSMutableArray에서 행을 늘리는 방법은 무엇입니까?
- 2. HeaderedContentControl의 내용을 늘리는 방법은 무엇입니까?
- 3. 매퍼 쿼터를 늘리는 방법은 무엇입니까?
- 4. 현재 시간을 늘리는 방법은 무엇입니까?
- 5. titelBar 높이를 늘리는 방법은 무엇입니까?
- 6. DJ처럼 오디오를 스크래치하는 방법은 무엇입니까?
- 7. 실시간 오디오를 인코딩하는 방법은 무엇입니까?
- 8. 오디오를 텍스트와 동기화하는 방법은 무엇입니까?
- 9. android에서 콘솔 출력을 늘리는 방법 Log class
- 10. android에서 webview 높이를 동적으로 늘리는 방법
- 11. 오디오를 녹음하고 녹음 된 오디오를 iphone sdk로 재생하는 방법은 무엇입니까?
- 12. Android에서 오디오를 녹음하고 음높이를 변경하려면 어떻게해야하나요?
- 13. android에서 audiotrack을 사용하여 오디오를 재생하는 방법
- 14. android에서 오디오를 재생할 때 문제가 발생했습니다.
- 15. Android에서 전화 통화시 소리를 재생하는 방법은 무엇입니까?
- 16. CSS에서 줄 간격을 늘리는 방법은 무엇입니까?
- 17. 기울임 꼴 텍스트의 각도를 늘리는 방법은 무엇입니까?
- 18. 이미지를 레이아웃의 너비에 늘리는 방법은 무엇입니까?
- 19. 필요한 공간에 맞게 이미지를 늘리는 방법은 무엇입니까?
- 20. 오라클의 테이블 크기를 늘리는 방법은 무엇입니까?
- 21. DataGridView의 스크롤 막대 폭을 늘리는 방법은 무엇입니까?
- 22. Google 검색 한도를 늘리는 방법은 무엇입니까?
- 23. 내 listview를 scrollview의 heigth로 늘리는 방법은 무엇입니까?
- 24. 클릭하면 목록보기의 행 높이를 늘리는 방법은 무엇입니까?
- 25. TableLayout에서 세로로 한 행을 늘리는 방법은 무엇입니까?
- 26. 안드로이드 에뮬레이터에서 비디오 볼륨을 늘리는 방법은 무엇입니까?
- 27. 안드로이드에서 비디오 녹화 시간을 늘리는 방법은 무엇입니까?
- 28. 스윙에서 JDialog 크기를 동적으로 늘리는 방법은 무엇입니까?
- 29. 필요한 경우에만 권한을 늘리는 방법은 무엇입니까?
- 30. 사전 항목을 추가하거나 늘리는 방법은 무엇입니까?
감사합니다. Pindatjuh. 그래도 할 수있는 간단한 방법이 있길 바래 .. – Miss