working demo, click button for feedback ;)
This commit is contained in:
@@ -3,4 +3,13 @@ define (require) ->
|
||||
alert("Can't access your media :(")
|
||||
return
|
||||
|
||||
getUserMedia = require('getUserMedia')
|
||||
$ = require 'jquery'
|
||||
Audio = require 'lib/captureAudio'
|
||||
|
||||
buttonAudio = new Audio()
|
||||
|
||||
$('.button.record').on 'click', (ev) ->
|
||||
audioStream = buttonAudio.get()
|
||||
.then (streamSource) ->
|
||||
# loop the stream back through the computer... feedback, go!
|
||||
streamSource.connect buttonAudio.context.destination
|
||||
|
||||
16
src/coffee/lib/captureAudio.coffee
Normal file
16
src/coffee/lib/captureAudio.coffee
Normal file
@@ -0,0 +1,16 @@
|
||||
define (require) ->
|
||||
MediaCapture = require 'lib/mediaCapture'
|
||||
|
||||
class Audio
|
||||
constructor: (ctx) ->
|
||||
@audioContext = ctx || window.AudioContext || window.webkitAudioContext
|
||||
@context = new @audioContext()
|
||||
|
||||
get: ->
|
||||
audio = new MediaCapture
|
||||
video: false
|
||||
|
||||
audio.get()
|
||||
.then (audioStream) =>
|
||||
@mediaStreamSource = @context.createMediaStreamSource( audioStream )
|
||||
return @mediaStreamSource
|
||||
13
src/coffee/lib/mediaCapture.coffee
Normal file
13
src/coffee/lib/mediaCapture.coffee
Normal file
@@ -0,0 +1,13 @@
|
||||
define (require) ->
|
||||
Promise = require 'bluebird'
|
||||
require 'lib/getUserMedia' # create navigator.getUserMedia
|
||||
|
||||
class MediaCapture
|
||||
constructor: (opts={}) ->
|
||||
@opts =
|
||||
video: if (opts.video?) then opts.video else true
|
||||
audio: if (opts.audio?) then opts.video else true
|
||||
|
||||
get: ->
|
||||
new Promise (resolve, reject) =>
|
||||
navigator.getUserMedia @opts, resolve, reject
|
||||
Reference in New Issue
Block a user