import android.Manifest;
import android.content.Context;
import android.content.Intent;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.os.Environment;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Toast;
import java.io.File;
import java.io.FileOutputStream;
import java.util.Date;
import cafe.adriel.androidaudiorecorder.AndroidAudioRecorder;
import cafe.adriel.androidaudiorecorder.Util;
import cafe.adriel.androidaudiorecorder.example.R;
public class MainActivity extends AppCompatActivity
{
public static final String EXTRA_FILE_PATH = "filePath";
public static final String EXTRA_COLOR = "color";
static Date createdTime= new Date();
public static final String AUDIO_FILE_PATH = Environment.getExternalStorageDirectory().getAbsolutePath() + "/" + createdTime + "_rec.wav";
public static final int RECORD_AUDIO = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (getSupportActionBar() != null) {
getSupportActionBar().setBackgroundDrawable(
new ColorDrawable(getResources().getColor(R.color.colorPrimaryDark)));
}
Util.requestPermission(this, Manifest.permission.RECORD_AUDIO);
Util.requestPermission(this, Manifest.permission.WRITE_EXTERNAL_STORAGE);
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == RECORD_AUDIO) {
if (resultCode == RESULT_OK) {
Toast.makeText(this, "Audio recorded successfully!", Toast.LENGTH_SHORT).show();
} else if (resultCode == RESULT_CANCELED) {
Toast.makeText(this, "Audio was not recorded", Toast.LENGTH_SHORT).show();
}
}
}
public void recordAudio(View v) {
AndroidAudioRecorder.with(this)
.setFilePath(AUDIO_FILE_PATH)
.setColor(getResources().getColor(R.color.recorder_bg))
.setRequestCode(RECORD_AUDIO)
.record();
}
}
답변
한 Android's default external storage folders 사용을 고려 (현재 파일에서 sdcard에 직접 저장하는)이
File path = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_MUSIC);
당신이 사용할 수 있습니다 같은 DIRECTORY_MUSICFile class constructor을 사용하여 SD 카드에 새 폴더를 만드십시오.
File audioFolder = new File(Environment.getExternalStorageDirectory(),
"newaudiofolder")
if (!audioFolder.exists()) {
boolean success = audioFolder.mkdir()
if (success) {
// save the file
}
}
SD 카드의 폴더가 아니라 외부 메모리의 폴더입니다. 함수 이름을보십시오. – greenapps
일부 장치에는 sd 카드 슬롯이 없습니다. [Google Documenation] (https://developer.android.com/guide/topics/data/data-storage.html#filesExternal)에 따르면 외부 저장소는 이동식 저장 미디어 (예 : SD 카드) 또는 내부 (비 분리형) 저장 "- 나에게 그리고 원래의 포스터로, 외부 저장 장치가 올바른 선택 인 것처럼 보입니다. – nosyjoe
SD 카드 슬롯이 없다면 확실히 SD 카드가 없습니다. 외부 메모리 만. OP가 SD 카드에 대해 말했습니다. – greenapps
- 1. SD 카드의 폴더에 연결
- 2. SD 카드의 목록보기 콘텐츠를 .txt로 저장하는 방법
- 3. 안드로이드에 대한 sd 카드의 특정 파일의 목록보기
- 4. Retrive SD 카드의 특정 이미지
- 5. android는 재귀 적으로 sd 카드의 파일을 나열합니다.
- 6. 녹음 된 오디오 파일을 폴더에 저장하는 방법
- 7. PhoneGap에서 SD 카드의 파일을 읽는 방법?
- 8. SD 카드의 애플리케이션 이동
- 9. SD 카드의 미디어 암호화?
- 10. 오디오 파일을 android의 특정 폴더에 저장하십시오.
- 11. SD 카드의 파일을 삭제하는 방법은 무엇입니까?
- 12. 안드로이드에서 SD 카드의 미디어 파일을 숨기는 방법?
- 13. 앱에 SD 카드의 파일을 추가하는 방법은 무엇입니까?
- 14. SD 카드의 폴더를 숨기려면 어떻게해야합니까?
- 15. SD 카드의 폴더에서 SD 카드의 다른 폴더로 파일 복사
- 16. 안드로이드 SD 파일을 클라우드에 저장하는 방법
- 17. android : 응용 프로그램 폴더에 오디오 파일을 저장하는 방법
- 18. SD 카드의 Android 위젯
- 19. 표시 SD 카드의 데이터
- 20. 읽기 SD 카드의 파일
- 21. GalleryView에서 SD 카드의 _ 특정 이미지 만 표시하는 방법은 무엇입니까?
- 22. ALL SD 카드의 파일 검색
- 23. Jspdf 파일을 특정 폴더에 저장하는 방법
- 24. 특정 폴더에 파일을 프로그래밍 방식으로 저장하는 방법
- 25. SD 카드에서 오디오 파일 재생
- 26. debian/SD 카드의 우분투에서 SD 카드를 복제합니다.
- 27. SD 카드의 파일 암호화 API
- 28. sd 카드의 모든 파일 찾기
- 29. 안드로이드에서 SD 카드의 보안 내용
- 30. 이미지, 오디오 및 비디오를 SD 카드에 저장
외부 메모리에 있습니다. SD 카드가 아닙니다. 그러나 그 parh에 파일 이름을 추가 한 것과 마찬가지로 폴더 이름을 먼저 추가 할 수 있습니다. – greenapps
추가 된 폴더 이름이없는 경우이 작업이 실패합니다. – nosyjoe