I want to play audio data from an ArrayBuffer... so I generate my array and fill it with microfone input. 
If I draw this data on a canvas it looks like --> 

So this works!
But if i want to listen to this data with
context.decodeAudioData(tmp, function(bufferN) { //tmp is a arrayBuffer
    var out = context.createBufferSource();
    out.buffer = bufferN;
    out.connect(context.destination);
    out.noteOn(0);
}, errorFunction);
I dont hear anything... because the errorFunction is called. But error is null!
I also tryed to get the buffer like that:
var soundBuffer = context.createBuffer(myArrayBuffer, true/*make mono*/);
But i get the error: Uncaught SyntaxError: An invalid or illegal string was specified.
anybody who can give me a hint ?
EDIT 1 (More code and how I get the mic input):
 navigator.webkitGetUserMedia({audio: true}, function(stream) {
                liveSource = context.createMediaStreamSource(stream);
                // create a ScriptProcessorNode
                if(!context.createScriptProcessor){
                   node = context.createJavaScriptNode(2048, 1, 1);
                } else {
                   node = context.createScriptProcessor(2048, 1, 1);
                }
                node.onaudioprocess = function(e){
               var tmp = new Uint8Array(e.inputBuffer.byteLength);
               tmp.set(new      Uint8Array(e.inputBuffer.byteLength), 0);
   //Here comes the code from above.
Thanks for your help!