{"name":"addMusicEventHandler","operator":null,"title":"addMusicEventHandler","type":"command","url":"https://community.bistudio.com/wiki/addMusicEventHandler","revid":370195,"updated":"2024-11-06T12:01:24Z","groups":["Event Handlers","Sounds"],"status":"ok","replaced_by":[],"games":[{"game":"arma3","name":"Arma 3","version":"0.50"}],"since":{"game":"arma3","name":"Arma 3","version":"0.50"},"arma3_since":"0.50","branch":null,"locality":{"argument":null,"effect":"local","server_exec":false},"exec":null,"description":"Adds playMusic event handler. Returns id of the handler or -1 when failed. Like addMissionEventHandler, the music event handler is attached to the mission.\nSee Arma 3: Event Handlers#Music Event Handlers.","syntaxes":[{"syntax":"addMusicEventHandler [type, function]","since":null,"effect":null,"exec":null,"params":[{"name":"type","type":"String","optional":false,"default":null,"description":"\"MusicStart\" or \"MusicStop\"","types":["String"],"since":null,"text":"type: String - \"MusicStart\" or \"MusicStop\""},{"name":"function","type":"String or Code","optional":false,"default":null,"description":"passed params array is [musicClassname, eventHandlerId] where:\n\n```sqf\nparams [\"_musicClassname\", \"_eventHandlerId\", \"_currentPosition\", \"_totalLength\"];\n```\n\n- musicClassName: String - CfgMusic class name of the music that started\n- eventHandlerId: Number - event handler id (same as returned by addMusicEventHandler usage)\n- Arma 3 v2.18 currentPosition: Number - current playback position in 0..1 range (see getMusicPlayedTime)\n- Arma 3 v2.18 totalLength: Number - track total length in seconds","types":["String","Code"],"since":null,"text":"function: String or Code - passed params array is [musicClassname, eventHandlerId] where:\n\n```sqf\nparams [\"_musicClassname\", \"_eventHandlerId\", \"_currentPosition\", \"_totalLength\"];\n```\n\n- musicClassName: String - CfgMusic class name of the music that started\n- eventHandlerId: Number - event handler id (same as returned by addMusicEventHandler usage)\n- Arma 3 v2.18 currentPosition: Number - current playback position in 0..1 range (see getMusicPlayedTime)\n- Arma 3 v2.18 totalLength: Number - track total length in seconds"}],"returns":{"type":"Number","types":["Number"],"description":"event handler id","text":"Number - event handler id"},"form":"unary","operator":null,"left":null,"right":{"text":"[type, function]","types":["Array"]}}],"examples":[{"text":"```sqf\nprivate _ehID = addMusicEventHandler [\"MusicStart\", { hint str _this }];\n```","code":["private _ehID = addMusicEventHandler [\"MusicStart\", { hint str _this }];"]},{"text":"```sqf\nprivate _ehID = addMusicEventHandler [\"MusicStop\", { hint str _this }];\n```","code":["private _ehID = addMusicEventHandler [\"MusicStop\", { hint str _this }];"]}],"multiplayer":null,"problems":null,"aliases":[],"see_also":["removeMusicEventHandler","playMusic","removeAllMusicEventHandlers","getEventHandlerInfo"],"notes":[{"user":"Druid","date":"2013-03-04T13:30:00Z","text":"There are these two types at this time:\n- **MusicStart** - It is triggered when the music is started (command playMusic). In variable _this is stored class name from CfgMusic.\n- **MusicStop** - It is triggered when the music is ended (command playMusic). In variable _this is stored class name from CfgMusic."}],"categories":["Arma 3: New Scripting Commands","Arma 3: Scripting Commands","Command Group: Event Handlers","Command Group: Sounds","Introduced with Arma 3 version 0.50","Scripting Commands","Scripting Commands: Local Effect"]}