鸿蒙HarmonyOS——AVSession开发指导(1),HarmonyOS鸿蒙性能优化和内存优化面试

currentSession = session;
currentSession.activate(); // 激活会话
}).catch((err) => {
console.info(createAVSession : ERROR : ${err.message});
});

3.设置AVSession会话信息,包括: - 设置会话元数据,除了媒体ID必选外,可选设置媒体标题、专辑信息、媒体作者、媒体时长、上一首/下一首媒体ID等。详细的会话元数据信息可参考API文档中的AVMetadata。 - 设置启动Ability,通过WantAgent的接口实现。WantAgent一般用于封装行为意图信息。 - 设置播放状态。

// 设置会话元数据
let metadata = {
assetId: “121278”,
title: “lose yourself”,
artist: “Eminem”,
author: “ST”,
album: “Slim shady”,
writer: “ST”,
composer: “ST”,
duration: 2222,
mediaImage: “https://www.example.com/example.jpg”, // 请开发者根据实际情况使用
subtitle: “8 Mile”,
description: “Rap”,
lyric: “https://www.example.com/example.lrc”, // 请开发者根据实际情况使用
previousAssetId: “121277”,
nextAssetId: “121279”,
};
currentSession.setAVMetadata(metadata).then(() => {
console.info(‘setAVMetadata successfully’);
}).catch((err) => {
console.info(setAVMetadata : ERROR : ${err.message});
});

// 设置启动ability
let wantAgentInfo = {
wants: [
{
bundleName: “com.neu.setResultOnAbilityResultTest1”,
abilityName: “com.example.test.EntryAbility”,
}
],
operationType: wantAgent.OperationType.START_ABILITIES,
requestCode: 0,
wantAgentFlags:[wantAgent.WantAgentFlags.UPDATE_PRESENT_FLAG]
}

wantAgent.getWantAgent(wantAgentInfo).then((agent) => {
currentSession.setLaunchAbility(agent).then(() => {
console.info(‘setLaunchAbility successfully’);
}).catch((err) => {
console.info(setLaunchAbility : ERROR : ${err.message});
});
});

// 设置播放状态
let PlaybackState = {
state: avSession.PlaybackState.PLAYBACK_STATE_STOP,
speed: 1.0,
position:{elapsedTime: 0, updateTime: (new Date()).getTime()},
bufferedTime: 1000,
loopMode: avSession.LoopMode.LOOP_MODE_SEQUENCE,
isFavorite: false,
};
currentSession.setAVPlaybackState(PlaybackState).then(() => {
console.info(‘setAVPlaybackState successfully’);
}).catch((err) => {
console.info(setAVPlaybackState : ERROR : ${err.message});
});

// 获取当前session会话对象自身的控制器
currentSession.getController().then((selfController) => {
console.info(‘getController successfully’);
}).catch((err) => {
console.info(getController : ERROR : ${err.message});
});

// 获取音频输出设备信息
currentSession.getOutputDevice().then((outputInfo) => {
console.info(getOutputDevice successfully, deviceName : ${outputInfo.deviceName});
}).catch((err) => {
console.info(

  • 25
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值