6 个版本 (破坏性)

0.5.0 2023年1月17日
0.4.0 2021年11月2日
0.3.1 2021年8月11日
0.3.0 2021年5月8日
0.1.0 2021年3月2日

#741硬件支持

每月23 次下载

自定义许可

24KB
523

LG WebOs Client 0.4.0

Build Status

使用 Rust 语言编写的简单 LG webOS 客户端。受 lgtv.js 启发

支持的命令

  • 创建托盘通知
  • 打开浏览器
  • 关闭
  • 设置频道
  • 设置输入
  • 设置静音
  • 设置音量
  • 获取频道列表
  • 获取当前频道
  • 打开频道
  • 获取外部输入列表
  • 切换输入
  • 是否静音
  • 获取音量
  • 播放媒体
  • 停止媒体
  • 暂停媒体
  • 倒退媒体
  • 快进媒体
  • 频道上
  • 频道下
  • 打开3D
  • 关闭3D
  • 获取服务列表
  • 启动应用

示例

添加到 Cargo.toml

[dependencies]
lg-webos-client = "0.4.0"
tokio = { version = "1.2.0", default-features = false, features = ["full"] }

然后使用以下片段

use lg_webos_client::client::*;
use lg_webos_client::command::Command;

#[tokio::main]
async fn main() {
    env_logger::init();
    // Note: We must specify the ws protocol, and if we do not have the key, we just specify None.
    let config = WebOsClientConfig::new("ws://192.168.1.62:3000/", None);
    let client = WebosClient::new(config).await.unwrap();
    println!(
        "The key for next time you build WebOsClientConfig: {:?}",
        client.key
    );
    let resp = client.send_command(Command::GetChannelList).await.unwrap();
    println!("Got response {:?}", resp.payload);
}

上述代码简单地连接到本地网络中的电视,并在成功注册后列出所有频道。注意,我们必须指定 ws 协议。如果我们有密钥,我们可以在配置中传递该密钥,客户端将使用该密钥。如果没有指定密钥,客户端将输出从设备生成的密钥。

贡献者

  • kziemianek
  • GT3CH1

依赖关系

~5–7.5MB
~159K SLoC