Yapıyor: Şu anda ses kaydediyorum ve MediaPlayer uygulamasında iyi çalışan sdCard içindeki bir dosya olarak kaydediyorum.Android Base64 Ses Dosyası Kodlama/Kod Çözme
Ne isterim: Bu dosyayıBase64 içine kodlayıp sunucuya gönderdiğimde her şey yolunda gider. Ama Base64 String'i audio.m4a dosyasına çözdüğümde, MediaPlayer'da çalışmıyor.
.M4a, .wav denedim ama hepsi boşuna. Sorun kodlamada. Çünkü aynı iOS uygulamasından gönderilen bir dosyayı çözdüğümden, MediaPlayer uygulamasında iyi çalışıyor.
Kodun kodlamasını çözmek için çok temel ve çok yardımı olduğunu biliyorum ama hiçbir şey çalışmıyor. Aşağıdaki şekilde
private void encodeAudio(String selectedPath) {
byte[] audioBytes;
try {
// Just to check file size.. Its is correct i-e; Not Zero
File audioFile = new File(selectedPath);
long fileSize = audioFile.length();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
FileInputStream fis = new FileInputStream(new File(selectedPath));
byte[] buf = new byte[1024];
int n;
while (-1 != (n = fis.read(buf)))
baos.write(buf, 0, n);
audioBytes = baos.toByteArray();
// Here goes the Base64 string
_audioBase64 = Base64.encodeToString(audioBytes, Base64.DEFAULT);
} catch (Exception e) {
DiagnosticHelper.writeException(e);
}
}
Ve Çözme:: ben yanlış bir şey yapıyorsam
private void decodeAudio(String base64AudioData, File fileName, String path, MediaPlayer mp) {
try {
FileOutputStream fos = new FileOutputStream(fileName);
fos.write(Base64.decode(base64AudioData.getBytes(), Base64.DEFAULT));
fos.close();
try {
mp = new MediaPlayer();
mp.setDataSource(path);
mp.prepare();
mp.start();
} catch (Exception e) {
DiagnosticHelper.writeException(e);
}
} catch (Exception e) {
e.printStackTrace();
}
}
işaret Lütfen takiben benim yaklaşımdır. Kod Çözme dosyası bozuk neden Teşekkür
Dönüştürülmüş base64 'ü istediğiniz dosyaya dönüştürün, daha sonra oynatın, ardından sunucuda ne olduğunu kontrol edin, çapraz kontrol edin, aynı şeyi kodlayın, bildiğim gibi kodlayın. Yardım ederse bana bildirin .. –
kodlanmış dizeyi sunucuya gönderiyorsunuz ve eğer 'server'-string'ini çözmeyi denerseniz bir şeyler ters gidiyor mu? Belki de sunucuya veri aktarımı ile bir şeyler ters gitti mi? – zypro
Sunucu da bana aynı base64'i json @zypro –