# TypeError: Cannot call method 'hasAudio' of undefined

**URL:** <https://discourse.lynckia.com/t/typeerror-cannot-call-method-hasaudio-of-undefined/112>\
**Category:** Uncategorized\
**Created:** [August 12, 2014, 8:27pm UTC](https://discourse.lynckia.com/t/typeerror-cannot-call-method-hasaudio-of-undefined/112 "2014-08-12T20:27:17Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Marko\_Jovanovic](https://avatars.discourse-cdn.com/v4/letter/m/898d66/32.png) [@Marko\_Jovanovic](https://discourse.lynckia.com/u/Marko_Jovanovic)\
**Post date:** [August 12, 2014, 8:27pm UTC](https://discourse.lynckia.com/t/typeerror-cannot-call-method-hasaudio-of-undefined/112/1 "2014-08-12T20:27:17Z")

</div>

Hi, when I click on the start recording button in the example, I get the  
following error from Erizo:

/home/marko/licode/erizo\_controller/erizoController/erizoController.js:532  
if (socket.room.streams[streamId].hasAudio() ||  
socket.room.stream  
^  
TypeError: Cannot call method ‘hasAudio’ of undefined  
at Socket.  
(/home/marko/licode/erizo\_controller/erizoController/erizoController.js:532:47)  
at Socket.emit [as $emit] (events.js:98:17)  
at SocketNamespace.handlePacket  
(/home/marko/licode/node\_modules/socket.io/lib/namespace.js:335:22)  
at Manager.onClientMessage  
(/home/marko/licode/node\_modules/socket.io/lib/manager.js:488:38)  
at WebSocket.Transport.onMessage  
(/home/marko/licode/node\_modules/socket.io/lib/transport.js:387:20)  
at Parser.  
(/home/marko/licode/node\_modules/socket.io/lib/transports/websocket/hybi-16.js:39:10)  
at Parser.emit (events.js:95:17)  
at finish  
(/home/marko/licode/node\_modules/socket.io/lib/transports/websocket/hybi-16.js:288:16)  
at Parser.expectHandler  
(/home/marko/licode/node\_modules/socket.io/lib/transports/websocket/hybi-16.js:299:15)  
at Parser.add  
(/home/marko/licode/node\_modules/socket.io/lib/transports/websocket/hybi-16.js:466:24)  
2014-08-12 22:24:59.209 - INFO: CloudHandler - ErizoController 1 in  
178.79.184.191 does not respond. Deleting it.  
2014-08-12 22:24:59.209 - INFO: CloudHandler - [CLOUD HANDLER]: Warning!  
No erizoController is available.

Additionally, I have noticed that localStream.getID() returns undefined…  
does anybody have an idea what I might be doing wrong?

---

<div class="post-metadata">

**Author:** ![gdecbin\_binnara](https://avatars.discourse-cdn.com/v4/letter/g/e68b1a/32.png) [@gdecbin\_binnara](https://discourse.lynckia.com/u/gdecbin_binnara)\
**Post date:** [February 13, 2016, 5:10pm UTC](https://discourse.lynckia.com/t/typeerror-cannot-call-method-hasaudio-of-undefined/112/2 "2016-02-13T17:10:28Z")

</div>

Hi, Marko.  
Did you fixed this error?  
I’ve got this error too.  
I would appreciate for your help.On Wednesday, August 13, 2014 at 4:27:17 AM UTC+8, Marko Jovanović wrote:

> Hi, when I click on the start recording button in the example, I get the  
> following error from Erizo:
> 
> /home/marko/licode/erizo\_controller/erizoController/erizoController.js:532  
> if (socket.room.streams[streamId].hasAudio() ||  
> socket.room.stream  
> ^  
> TypeError: Cannot call method ‘hasAudio’ of undefined  
> at Socket.  
> (/home/marko/licode/erizo\_controller/erizoController/erizoController.js:532:47)  
> at Socket.emit [as $emit] (events.js:98:17)  
> at SocketNamespace.handlePacket (/home/marko/licode/node\_modules/  
> [socket.io/lib/namespace.js:335:22](http://socket.io/lib/namespace.js:335:22))  
> at Manager.onClientMessage (/home/marko/licode/node\_modules/  
> [socket.io/lib/manager.js:488:38](http://socket.io/lib/manager.js:488:38))  
> at WebSocket.Transport.onMessage (/home/marko/licode/node\_modules/  
> [socket.io/lib/transport.js:387:20](http://socket.io/lib/transport.js:387:20))  
> at Parser. (/home/marko/licode/node\_modules/  
> [socket.io/lib/transports/websocket/hybi-16.js:39:10](http://socket.io/lib/transports/websocket/hybi-16.js:39:10))  
> at Parser.emit (events.js:95:17)  
> at finish (/home/marko/licode/node\_modules/  
> [socket.io/lib/transports/websocket/hybi-16.js:288:16](http://socket.io/lib/transports/websocket/hybi-16.js:288:16))  
> at Parser.expectHandler (/home/marko/licode/node\_modules/  
> [socket.io/lib/transports/websocket/hybi-16.js:299:15](http://socket.io/lib/transports/websocket/hybi-16.js:299:15))  
> at Parser.add (/home/marko/licode/node\_modules/  
> [socket.io/lib/transports/websocket/hybi-16.js:466:24](http://socket.io/lib/transports/websocket/hybi-16.js:466:24))  
> 2014-08-12 22:24:59.209 - INFO: CloudHandler - ErizoController 1 in  
> 178.79.184.191 does not respond. Deleting it.  
> 2014-08-12 22:24:59.209 - INFO: CloudHandler - [CLOUD HANDLER]: Warning!  
> No erizoController is available.
> 
> Additionally, I have noticed that localStream.getID() returns undefined…  
> does anybody have an idea what I might be doing wrong?
