2013-03-08 3 views
0

두 개의 Android 기기 (전화 A & 전화 B)와 MySQL 데이터베이스가있는 서버가 있습니다. 전화 A에서 전화 B로, 서버를 통해 마이크를 사용하여 오디오 메시지를 보내려고합니다.Android에서 오디오를 녹음하고 전송하기위한 디자인

  • 이 파일의 바이트를 얻을 SD 카드에 파일로 전화에서
  • 기록 오디오 마이크를 사용하여 간단한 텍스트 메시지로 서버에 보내

    하나 개의 아이디어에있다

  • 서버에 저장
  • 전화 B는
  • 다음에 바이트 쓰기 서버를 폴링하고이 데이터를 수신 할 데이터베이스에이 데이터 EW 다음
  • 파일 MediaPlayer를 함께 연주

    1. 이 맞습니까?
    2. 바이트에 특수 문자가 있습니까?
+0

Android 개발자가 아니지만, SD 카드에 기록 할 수 있습니다. 그렇습니다. 나는 네가 기대하지 않겠지 만, 믿을만한 매체에 글을 쓰는 것이 더 낫다. 인터넷 연결이 실패하면 잘 기록 될 것이고 연결이 돌아 왔을 때 보낼 수있다. 또한 RAM은 모바일 장치에서 미디어 레코딩으로 빠르게 채울 수 있으며 레코딩하는 동안 연결 속도가 버퍼를 빨리 소모하지 않으면 버퍼 오버플로가 발생할 위험이 있습니다. – halfer

+0

네, 고마워요. – Nikita

답변

1

당신은 전화에서 오디오를 캡처하고, 서버에 바이너리 데이터로 보내야합니다. 그렇게하기 위해 간단한 POST 요청을 사용할 수 있습니다.

서버는 파일을 데이터베이스가 아닌 파일에 저장해야합니다. 데이터베이스에는 파일 이름과 경로 및 ID 만 있어야합니다.

전화 B는 파일에 대해 폴링 알림을 받거나 가져옵니다. 서버는 ID를 사용하여 데이터베이스에서 파일 이름을 가져오고 passthru을 사용하여 파일을 제공합니다.

+0

하지만 문제는 666으로 권한을 설정하면 MyUrl.com/Audio를 복사/붙여 넣기하는 사람이 레코드에 액세스 할 수 있다는 것입니다. – Nikita

+0

예, URL을 "추측"할 수있는 사람은 누구나 접속할 수 있습니다. 그렇기 때문에 일반적으로 bitlyly 해시를 사용하는 것과 비슷한 방식으로 하드 한 것을 사용하게됩니다. 파일 시스템 권한은 웹 서버가 파일을 쓴 이후로는별로 관련이 없습니다. 사용하는 사람은 누구나 그것에 대한 읽기/쓰기 권한을 갖습니다. URL을 올바르게 작성하면 추측 할 가능성이 매우 높습니다. 사용 가능한 시간 (예 : uplaod 후 1 시간), 위치 정보 등을 추가로 제한하여 더 세게 사용할 수 있습니다. – hexblot

+0

그래, 내 대답은 기술적으로 가능하지 않으니 고마워요. – Nikita

관련 문제