Bienvenido al SDK de la plataforma de transmisión: diseñado para facilitar la creación de complementos para la plataforma de transmisión, el SDK de la plataforma de transmisión proporciona todo lo que necesita para conectarse y comunicarse con la aplicación de la plataforma de Stream, lo que le permite concentrarse en las cosas divertidas.
La creación de complementos de mazo de transmisión con node.js requiere Node.js V20. Al instalar Node.js, recomendamos usar un Administrador de versiones como NVM (MACOS) o NVM-Windows (Windows).
La CLI de la plataforma de transmisión proporciona comandos para crear, probar y agrupar sus complementos, y es la forma más fácil de comenzar a construir para la plataforma de transmisión. También puede obtener más información sobre cómo comenzar en nuestra documentación.
npm install -g @elgato/cli@latest
create
para inicializar el asistente de creación. streamdeck create
Después de crear un complemento con streamdeck create
se le proporcionará un entorno local para construir un complemento.
/
├── *.sdPlugin/
│ ├── bin/
│ ├── imgs/
│ ├── logs/
│ ├── ui/
│ │ └── increment-counter.html
│ └── manifest.json
├── src/
│ ├── actions/
│ │ └── increment-counter.ts
│ └── plugin.ts
├── package.json
├── rollup.config.mjs
└── tsconfig.json
El package.json
proporciona dos scripts para construir el complemento.
npm run build
: construye el complemento.npm run watch
: observa continuamente los cambios, y vuelve a caracarse el complemento después de la compilación. Las acciones son la estrella del programa y permiten a los usuarios interactuar con su complemento. Las acciones se representan como clases que heredan de SingletonAction
, lo que permite que su complemento reciba eventos de Stream Deck, por ejemplo, Key Down, Dial gire, etc.
El siguiente es un ejemplo de una acción que escucha el evento keyDown
, y luego establece el título de la acción de origen.
import { action , KeyDownEvent , SingletonAction } from "@elgato/streamdeck" ;
@ action ( { UUID : "com.elgato.hello-world.say-hello" } )
export class SayHelloAction extends SingletonAction {
/**
* Listen for the key down event that occurs when a user presses
* a Stream Deck button, and change the title of the action.
*/
async onKeyDown ( ev : KeyDownEvent ) {
await ev . action . setTitle ( "Hello world" ) ;
}
}
Los complementos se pueden depurar utilizando cualquier depurador Node.js, por ejemplo, Visual Studio Code, Chrome, etc., y de manera predeterminada tendrá la depuración habilitada cuando se cree con el comando streamdeck create
CLI.
Puede configurar la depuración dentro de la configuración Node.js del manifiesto.
{
// ...
"Nodejs" : {
"Version" : "20" ,
"Debug" : "enabled"
} ,
}
Hay cuatro opciones disponibles al configurar la propiedad Debug
dentro del manifiesto:
"enabled"
: el complemento se ejecutará con --inspect
lo que permite a los debuggadores conectarse."break"
: el complemento se lanzará con --inspect-brk
y esperará un depurador adjunto antes de ejecutar.string
: una colección de argumentos CLI suministrados al complemento.undefined
: la depuración está deshabilitada.Al ejecutar el complemento en modo de depuración
"enabled"
o"break"
, se asignará un puerto disponible aleatorio al oyente de depuración cada vez que se inicie el complemento. Si desea escuchar en un puerto específico, el valorDebug
se puede establecer en una cadena de argumentos de CLI, por ejemplo, para escuchar en el puerto12345
, el valorDebug
sería--inspect=127.0.0.1:12345
.