2013-06-12 35 views
5

Tamamen temel olarak WAV formatında ses yakalayabilmemizi sağlayan web sitemizde uygulanan jRecorder'a sahibiz.ShineRecorder'da MP3'e kodlama yaparken, kodlama çok yüksekse kodlama durur

Şimdi, yakalama sonrasında, bu WAV'ı MP3'e (dosya boyutunda kaydetmek için) ShineMP3Encoder'u kullanıyoruz. Her şey yolunda.

Kayıtlı ses seviyeleri çok yüksekse, MP3 kodlaması tamamen duracak ve dosya bozuk/kısa hale gelecektir. Bunu bir WAV ile gerçekleştirirken, WAV'ın kaydedilen sesin ne kadar gürültülü olduğu ve mutlu bir şekilde olduğu gibi çaldığı anlaşılıyor.

Sorumu yorduğum için teşekkürler inanılmaz niş, ama kafamı günlerce duvara çarptığında, bu benim tek seçenekim. Ne olursa olsun için

, bu kayda kullanım (o en bataklık standart ShineMP3 uygulaması) idi ActionScript geçerli:

//recorder.output is outputted from jRecorder 
mp3Encoder = new ShineMP3Encoder(recorder.output); 
mp3Encoder.addEventListener(Event.COMPLETE, mp3EncodeComplete); 
mp3Encoder.start(); 
+0

hatayı yeniden üretmeye çalışıyor. Bir wav dosyası verebilir misin? Yüksek ses seviyelerini düşünmenizi sağlayan şey nedir? –

+0

Ayrıca, kodlama sırasında herhangi bir ErrorEvent dinliyor musunuz? –

+0

@PlasticSturgeon Yeniden üretebilmek için, mikrofona olabildiğince sert bir şekilde üfleyebilirsiniz. ErrorEvent dinlemeyi denedim ama boşuna. – mattytommo

cevap

0

Bir olasılık kodlama, bu pistlerde döngü daha yavaş çalışıyor neden olmasıdır bir hata. Enkoderin daha yavaş çalışmasını sağlayın ve hatayı düzeltip düzeltmediğini görün. ShineMP3Encoder.as başlangıcı() yönteminde

hat akımı kod tabanı 37 bu

timer = new Timer(150); 

ile

timer = new Timer(1000/30); 

değiştirin.

+0

Yanıt için alkışlar, ancak aslında kod üzerinde bir hata attığını, ancak ActionScript'te yükseltilmediğini düşünüyorum. Bunu deneyeceğim ve ne olacağını göreceğim. – mattytommo