Python 让Alexa Skill播放音频
我一直努力想弄清楚如何让我的Alexa技能播放音频,但我找不到解决办法。我通过电子邮件向amazon开发者支持发送了以下代码。如果有人能给我解释一下这个代码背后的逻辑,我会很高兴的。另外,我如何将这段代码变成一个功能齐全的Alexa技能?多谢各位Python 让Alexa Skill播放音频,python,python-3.x,alexa-skill,alexa-app,Python,Python 3.x,Alexa Skill,Alexa App,我一直努力想弄清楚如何让我的Alexa技能播放音频,但我找不到解决办法。我通过电子邮件向amazon开发者支持发送了以下代码。如果有人能给我解释一下这个代码背后的逻辑,我会很高兴的。另外,我如何将这段代码变成一个功能齐全的Alexa技能?多谢各位 import logging import typing from ask_sdk_core.skill_builder import SkillBuilder from ask_sdk_core.dispatch_components import
import logging
import typing
from ask_sdk_core.skill_builder import SkillBuilder
from ask_sdk_core.dispatch_components import (
AbstractRequestHandler, AbstractRequestInterceptor, AbstractExceptionHandler)
import ask_sdk_core.utils as ask_utils
from ask_sdk_core.utils import is_intent_name, is_request_type
from ask_sdk_core.api_client import DefaultApiClient
from ask_sdk_core.skill_builder import SkillBuilder, CustomSkillBuilder
from ask_sdk_core.dispatch_components import AbstractRequestInterceptor
from ask_sdk_core.dispatch_components import AbstractResponseInterceptor
from ask_sdk_model.services.service_exception import ServiceException
if typing.TYPE_CHECKING:
from ask_sdk_core.handler_input import HandlerInput
from ask_sdk_model import Response
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
WELCOME_MESSAGE = "This is Alexa regular speech, followed by the sound effect named Bear Groan Roar <audio src='soundbank://soundlibrary/animals/amzn_sfx_bear_groan_roar_01'/>"
WHAT_DO_YOU_WANT = "What do you want to ask?"
class LaunchRequestHandler(AbstractRequestHandler):
"""Handler for Skill Launch."""
def can_handle(self, handler_input):
# type: (HandlerInput) -> bool
return is_request_type("LaunchRequest")(handler_input)
def handle(self, handler_input):
# type: (HandlerInput) -> Response
return handler_input.response_builder.speak(WELCOME_MESSAGE).ask(WHAT_DO_YOU_WANT).response
sb = CustomSkillBuilder(api_client=DefaultApiClient())
sb.add_request_handler(LaunchRequestHandler())
导入日志
导入键入
从ask_sdk_core.skill_builder导入SkillBuilder
从ask_sdk_core.dispatch_components import(
AbstractRequestHandler、AbstractRequestInterceptor、AbstractExceptionHandler)
将ask_sdk_core.utils导入为ask_utils
从ask\u sdk\u core.utils导入是\u intent\u name,是\u request\u type
从ask_sdk_core.api_客户端导入DefaultApicClient
从ask_sdk_core.skill_builder导入SkillBuilder、CustomSkillBuilder
从ask_sdk_core.dispatch_组件导入AbstractRequestInterceptor
从ask_sdk_core.dispatch_components导入AbstractResponseInterceptor
从ask_sdk_model.services.service_异常导入ServiceException
如果键入.TYPE\u检查:
从ask_sdk_core.handler_输入导入handler输入
来自ask_sdk_模型导入响应
logger=logging.getLogger(_名称__)
logger.setLevel(logging.INFO)
WELCOME_MESSAGE=“这是Alexa的常规演讲,随后是名为Bear Groan Roar的音效”
WHAT\u DO\u YOU\u WANT=“你想问什么?”
类LaunchRequestHandler(AbstractRequestHandler):
“”“技能启动处理程序。”“”
def can_句柄(自身、句柄_输入):
#类型:(HandlerInput)->bool
返回为请求类型(“启动请求”)(处理程序输入)
def句柄(自身,句柄输入):
#类型:(HandlerInput)->响应
返回handler\u input.response\u builder.speak(欢迎消息)。询问(您想要什么)。response
sb=CustomSkillBuilder(api\U客户端=DefaultApiClient())
sb.添加请求处理程序(LaunchRequestHandler())
当用户启动技能或提出问题时,您是否正在尝试播放短音频片段?或者您正在尝试播放超过90秒的流媒体音乐站或音频文件?您是否正在尝试在用户启动技能或提出问题时播放短音频剪辑?或者您正在尝试播放超过90秒的流媒体音乐站或音频文件?