</div>
<div class="form-group">
- <label for="settings-microphone">Speaker:</label>
- <select name="microphone" id="settings-microphone" class="form-control"
+ <label for="settings-microphone">
+ Speaker:
+ <span ng-show="!speakerFeature" class="unsupported">
+ Your browser doesn't seem to support this feature
+ </span>
+ </label>
+ <select name="microphone" id="settings-microphone" class="form-control" ng-disabled="!speakerFeature"
ng-model="mydata.selectedSpeaker" ng-options="item.id as item.label for item in verto.data.speakerDevices">
</select>
</div>
});
$rootScope.$on('changedSpeaker', function(event, speakerId) {
- // This should provide feedback
- //setAudioPlaybackDevice(<id>[,<callback>[,<callback arg>]]);
- // if callback is set it will be called as callback(<bool success/fail>, <device name>, <arg if you supplied it>)
- verto.data.call.setAudioPlaybackDevice(speakerId);
+ if (verto.data.call) {
+ verto.data.call.setAudioPlaybackDevice(speakerId, sinkIdCallback);
+ }
});
/**
});
};
+ function sinkIdCallback(success, deviceName) {
+ if (success) {
+ toastr.info('Speaker is now <span class="install">' + deviceName + '</a>', 'Success', { allowHtml: true });
+ } else {
+ toastr.error('Your browser doesn\'t seem to support this feature', 'Error');
+ }
+ }
}
);
$scope.verto = verto;
$scope.mydata = angular.copy(storage.data);
+ $scope.speakerFeature = typeof document.getElementById('webcam').sinkId !== 'undefined';
+
$scope.ok = function() {
if ($scope.mydata.selectedSpeaker != storage.data.selectedSpeaker) {
$rootScope.$emit('changedSpeaker', $scope.mydata.selectedSpeaker);