Несмотря на то, что все интеграции Agora имеют приличную документацию.
Одна из головоломок, с которой я недавно столкнулся, заключалась в том, как писать цифровыми ручками, такими как Wacom, на доске. Итак, давайте начнем с кода, не так ли?
Чтобы настроить быстрый экземпляр доски, вот минимальный код
index.html
<!DOCTYPE html> <html lang="en"> <head> <script src="https://sdk.netless.link/white-web-sdk/2.15.16.js"></script> <script src="./joinWhiteboard.js"></script> </head> <body> <div id="whiteboard" style="width: 100%; height: 100vh;"></div> </body> </html>
присоединиться к whiteboard.js
var whiteWebSdk = new WhiteWebSdk({ // Pass in your App Identifier. appIdentifier: {APP_INDENTIFIER}, // Set the data center as Silicon Valley, US. region: "us-sv", }) var joinRoomParams = { uuid: {UUID YOU GET ON CREATING A NEW ROOM}, // The unique identifier of a user. If you use versions earlier than v2.15.0, do not add this line. uid: {RANDOM UNIQUE STRING}, roomToken: {ROOM TOKEN YOU GENERATE USING UUID}, }; // Join the whiteboard room and display the whiteboard on the web page. whiteWebSdk.joinRoom(joinRoomParams).then(function(room) { room.bindHtmlElement(document.getElementById("whiteboard")); }).catch(function(err) { console.error(err); });
Вы можете прочитать больше о том, как создать комнату и как сгенерировать токен комнаты здесь: - https://docs.agora.io/en/whiteboard/join_whiteboard_room_web?platform=Web
Запустив приведенный выше код, вы получите это. Вы сможете рисовать с помощью мыши.
Но если вы попытаетесь нарисовать это любой цифровой ручкой, это не сработает.
Решение
Если вы такой же, как я, у кого нет цифрового пера, но вам нужно поддерживать эту функцию для ваших пользователей, которые собираются использовать цифровые ручки. Вот как вы это делаете
deviceType: "surface"
При создании объекта whitewebSdk вам необходимо передать параметр deviceType.
var whiteWebSdk = new WhiteWebSdk({ // Pass in your App Identifier. appIdentifier: {APP_INDENTIFIER}, // Set the data center as Silicon Valley, US. region: "us-sv", // Set the device type deviceType: "surface" })
Это связано с тем, что по умолчанию Agora устанавливает тип устройства как «рабочий стол», который принимает только ввод с мыши и клавиатуры.
Но когда мы используем цифровое перо, оно запускает событие касания, а не событие нажатия кнопки мыши. Вот почему это не работает.
После добавления этого параметра ваша цифровая ручка должна работать
Если это помогло вам. Пожалуйста, дайте мне знать в комментариях. Я буду рад, если это спасло чей-то день, как был бы спасен мой, если бы такая статья существовала.