class AlexaRuby::AudioPlayerRequest

Alexa “AudioPlayer” and “PlaybackController” request type

Attributes

error_message[R]
error_playback_token[R]
error_player_activity[R]
error_type[R]
playback_offset[R]
playback_state[R]

Public Class Methods

new(request) click to toggle source

Initialize new AudioPlayer request

@param request [Hash] valid request from Amazon Alexa service

Calls superclass method
# File lib/alexa_ruby/request/audio_player_request.rb, line 10
def initialize(request)
  @type = :audio_player
  super
  req = @req[:request]
  @playback_state = req[:type].gsub!('AudioPlayer.', '')
  @playback_offset = current_offset(req)
  define_error_params(req) if @playback_state == 'PlaybackFailed'
end

Private Instance Methods

current_offset(request) click to toggle source

Get current playback offset from request

@param request [Hash] valid request from Amazon Alexa service @return [Integer] playback offset in milliseconds at the moment of request

# File lib/alexa_ruby/request/audio_player_request.rb, line 25
def current_offset(request)
  if @playback_state == 'PlaybackFailed'
    request[:currentPlaybackState][:offsetInMilliseconds]
  else
    request[:offsetInMilliseconds]
  end
end
define_error_params(request) click to toggle source

Define all error parameters if an error occured during playback

@param request [Hash] valid request from Amazon Alexa service

# File lib/alexa_ruby/request/audio_player_request.rb, line 36
def define_error_params(request)
  @error_type = request[:error][:type]
  @error_message = request[:error][:message]
  @error_playback_token = request[:currentPlaybackState][:token]
  @error_player_activity = request[:currentPlaybackState][:playerActivity]
end