Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dev/harmony os next beta 11 #422

Closed
wants to merge 47 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
47 commits
Select commit Hold shift + click to select a range
1103c0f
[HarmonyOS_NEXT]init project.
xgfd3 Jun 6, 2024
fc22684
[HarmonyOS_NEXT]fix keycenter bug.
xgfd3 Jun 6, 2024
f5a17e9
[HarmonyOS_NEXT]1.add the ui of join multi channel and media metadata…
xgfd3 Jun 12, 2024
d22392e
[HarmonyOS_NEXT]add CustomAudioSource case.
xgfd3 Jun 12, 2024
458d56a
[HarmonyOS_NEXT]add CustomVideoSource case.
xgfd3 Jun 12, 2024
9d8de5a
[HarmonyOS_NEXT]add OriginVideoData case.
xgfd3 Jun 13, 2024
cb1d31a
[HarmonyOS_NEXT]add JoinMultiChannel case.
xgfd3 Jun 13, 2024
fadb877
[HarmonyOS_NEXT]perfect channel name input and etc.
xgfd3 Jun 20, 2024
5221d0f
Merge remote-tracking branch 'origin/dev/HarmonyOS_NEXT' into dev/Har…
xgfd3 Jul 8, 2024
0707ac8
[HarmonyOS_NEXT]adapt to hm beta sdk.
xgfd3 Jul 8, 2024
0ba3757
[HarmonyOS_NEXT]adapt to hm beta sdk.
xgfd3 Jul 10, 2024
4bf3ac3
[HarmonyOS_NEXT]add global setting.
Jul 10, 2024
6de0df7
[HarmonyOS_NEXT] perfect setting ui.
Jul 10, 2024
26f454b
[HMOS]Add join audio channel case;Add origin audio data case;Perfect …
Jul 18, 2024
1e0e700
[Hmos]perfect OriginAudioData and OriginVideoData case.
Jul 24, 2024
0627447
[Hmos]1.add token generator;2.perfect cases.
Jul 24, 2024
c82b0f1
[Hmos]fix metadata case bug.
Jul 24, 2024
106942f
[Hmos]add join video channel with token case;add live streaming case;…
Jul 25, 2024
c29f5b4
[Hmos]add ChannelEncryption and RTMPStreaming cases.
Jul 30, 2024
d563813
[Hmos]add PlayAudioFiles, PreCallTest and MediaRecorder cases.
Jul 31, 2024
cfb4cd9
[HMOS]1.add LocalVideoTranscoding case;2.perfect screen sharing case.
Aug 6, 2024
0ed86ab
[HMOS]perfect cases and etc.
Aug 13, 2024
2c446b3
feat: JoinAudioChannel完成了各种参数UI布局
weileifrank Sep 5, 2024
f9f2926
feat: JoinAudioChannel完善了音频路由选择交互逻辑
weileifrank Sep 6, 2024
7990ac5
feat: JoinAudioChannel增加了后台录音服务
weileifrank Sep 6, 2024
4029175
feat: JoinAudioChannel增加了路由切换的ui交互以及监听
weileifrank Sep 6, 2024
cdf1f77
feat: JoinAudioChannel路由监听做了调整
weileifrank Sep 6, 2024
188c2c2
feat: JoinAudioChannel完善了onAudioVolumeIndication回调打印
weileifrank Sep 9, 2024
615e3ea
feat: JoinAudioChannel完善了引擎实例创建
weileifrank Sep 9, 2024
69cf36f
feat: JoinVideoChannelToken增加了连接状态监听回调和token过期回调
weileifrank Sep 24, 2024
b04801a
Merge tag '4.4.0' into dev/HarmonyOS_NEXT-Beta
weileifrank Sep 29, 2024
0f7792c
for change
cqagora Sep 30, 2024
b9c35fc
feat: 解决媒体加密缺陷
weileifrank Sep 30, 2024
5092aea
feat: 升级了sdk并适配了相关逻辑
weileifrank Sep 30, 2024
7f28b7e
feat: 隐藏相关未实现的api逻辑
weileifrank Sep 30, 2024
5985813
feat: adapter sdk 4.4.0
weileifrank Sep 30, 2024
500b789
feat: 增加了本地转码的屏幕采集参数设置
weileifrank Sep 30, 2024
061077b
Merge branch 'dev/HarmonyOS_NEXT-Beta' into dev/HarmonyOS_NEXT-Beta-f…
weileifrank Sep 30, 2024
5c2cff4
feat: update hm sdk to 12
weileifrank Oct 14, 2024
cb0183f
change package name to @shengwang/rtc-full
cqagora Oct 16, 2024
9272795
change compatibleSdkVersion to 12
cqagora Oct 16, 2024
13e4296
fix mistake
cqagora Oct 16, 2024
ed8775d
fix mistake
cqagora Oct 16, 2024
09f297d
fix mistake
cqagora Oct 16, 2024
d2e782c
Merge branch 'dev/HarmonyOS_NEXT-Beta-kyle' into dev/HarmonyOS_NEXT-Beta
cqagora Oct 16, 2024
b62af09
Merge pull request #414 from AgoraIO/dev/HarmonyOS_NEXT-Beta-1
weileifrank Oct 16, 2024
aed35dc
enable useNormalizedOHMUrl and use header file in har
cqagora Oct 22, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions HarmonyOS_NEXT/APIExample/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
/node_modules
/oh_modules
/local.properties
/.idea
**/build
/.hvigor
.cxx
/.clangd
/.clang-format
/.clang-tidy
**/.test
/.appanalyzer
/entry/libs/AgoraRtcSdk.har
10 changes: 10 additions & 0 deletions HarmonyOS_NEXT/APIExample/AppScope/app.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"app": {
"bundleName": "io.agora.api.example",
"vendor": "example",
"versionCode": 1000000,
"versionName": "1.0.0",
"icon": "$media:app_icon",
"label": "$string:app_name"
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
{
"string": [
{
"name": "app_name",
"value": "APIExample"
}
]
}
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
51 changes: 51 additions & 0 deletions HarmonyOS_NEXT/APIExample/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# API Example Android

*English | [中文](README.zh.md)*

This project presents you a set of API examples to help you understand how to use Agora APIs.

## Prerequisites

- DevEco Studio 4.1+
- Physical HarmonyOS NEXT device

## Quick Start

This section shows you how to prepare, build, and run the sample application.

### Obtain an App Id

To build and run the sample application, get an App Id:

1. Create a developer account at [agora.io](https://dashboard.agora.io/signin/). Once you finish the signup process, you will be redirected to the Dashboard.
2. Navigate in the Dashboard tree on the left to **Projects** > **Project List**.
3. Save the **App Id** from the Dashboard for later use.
4. Save the **App Certificate** from the Dashboard for later use.

5. Open `HarmonyOS_NEXT/APIExample` and edit the `entry/src/main/ets/common/KeyCenter.ets` file. Update `YOUR APP ID` with your App Id, update `YOUR APP CERTIFICATE` with the main app certificate from dashboard. Note you can leave the certificate variable `null` if your project has not turned on security token.

```
// Agora APP ID.
export const AppID: String = YOUR APP ID
// Agora APP Certificate. If the project does not have certificates enabled, leave this field blank.
// PS:It is unsafe to place the App Certificate on the client side, it is recommended to place it on the server side to ensure that the App Certificate is not leaked.
export const AppCertificate: String = YOUR APP CERTIFICATE
```

6. Download the har package from the [official website](https://doc.shengwang.cn/doc/rtc/harmonyos/resources#%E4%B8%8B%E8%BD%BD-sdk) and copy it to `HarmonyOS_NEXT/APIExample/entry/libs/AgoraRtcSdk.har`

You are all set. Now connect your HarmonyOS NEXT device and run the project.

## Contact Us

- For potential issues, take a look at our [FAQ](https://docs.agora.io/en/faq) first
- Dive into [Agora SDK Samples](https://github.com/AgoraIO) to see more tutorials
- Take a look at [Agora Use Case](https://github.com/AgoraIO-usecase) for more complicated real use case
- Repositories managed by developer communities can be found at [Agora Community](https://github.com/AgoraIO-Community)
- You can find full API documentation at [Document Center](https://docs.agora.io/en/)
- If you encounter problems during integration, you can ask question in [Stack Overflow](https://stackoverflow.com/questions/tagged/agora.io)
- You can file bugs about this sample at [issue](https://github.com/AgoraIO/API-Examples/issues)

## License

The MIT License (MIT)
51 changes: 51 additions & 0 deletions HarmonyOS_NEXT/APIExample/README.zh.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
# API Example Android

*[English](README.md) | 中文*

这个开源示例项目演示了Agora视频SDK的部分API使用示例,以帮助开发者更好地理解和运用Agora视频SDK的API。

## 环境准备

- DevEco Studio 4.1+
- HarmonyOS NEXT 真机设备

## 运行示例程序

这个段落主要讲解了如何编译和运行实例程序。

### 创建Agora账号并获取AppId

在编译和启动实例程序前,你需要首先获取一个可用的App Id:

1. 在[agora.io](https://dashboard.agora.io/signin/)创建一个开发者账号
2. 前往后台页面,点击左部导航栏的 **项目 > 项目列表** 菜单
3. 复制后台的 **App Id** 并备注,稍后启动应用时会用到它
4. 复制后台的 **App 证书** 并备注,稍后启动应用时会用到它

5. 打开 `HarmonyOS_NEXT/APIExample` 并编辑 `entry/src/main/ets/common/KeyCenter.ets`,将你的 AppID 、App主证书 分别替换到 `YOUR APP ID` 和 `YOUR APP CERTIFICATE`

```
// 声网APP ID。
export const AppID: String = YOUR APP ID
// 声网APP证书。如果项目没有开启证书鉴权,这个字段留空。
// 注意:App证书放在客户端不安全,推荐放在服务端以确保 App 证书不会泄露。
export const AppCertificate: String = YOUR APP CERTIFICATE
```
6. 在[官网](https://doc.shengwang.cn/doc/rtc/harmonyos/resources#%E4%B8%8B%E8%BD%BD-sdk)上下载har包,并复制到`HarmonyOS_NEXT/APIExample/entry/libs/AgoraRtcSdk.har`

然后你就可以编译并运行项目了。

## 联系我们

- 如果你遇到了困难,可以先参阅 [常见问题](https://docs.agora.io/cn/faq)
- 如果你想了解更多官方示例,可以参考 [官方SDK示例](https://github.com/AgoraIO)
- 如果你想了解声网SDK在复杂场景下的应用,可以参考 [官方场景案例](https://github.com/AgoraIO-usecase)
- 如果你想了解声网的一些社区开发者维护的项目,可以查看 [社区](https://github.com/AgoraIO-Community)
- 完整的 API 文档见 [文档中心](https://docs.agora.io/cn/)
- 若遇到问题需要开发者帮助,你可以到 [开发者社区](https://rtcdeveloper.com/) 提问
- 如果需要售后技术支持, 你可以在 [Agora Dashboard](https://dashboard.agora.io) 提交工单
- 如果发现了示例代码的 bug,欢迎提交 [issue](https://github.com/AgoraIO/API-Examples/issues)

## 代码许可

The MIT License (MIT)
41 changes: 41 additions & 0 deletions HarmonyOS_NEXT/APIExample/build-profile.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
{
"app": {
"signingConfigs": [
],
"products": [
{
"name": "default",
"signingConfig": "default",
"compatibleSdkVersion": "5.0.0(12)",
"runtimeOS": "HarmonyOS",
"buildOption": {
"strictMode": {
"useNormalizedOHMUrl": true
},
}
}
],
"buildModeSet": [
{
"name": "debug",
},
{
"name": "release"
}
]
},
"modules": [
{
"name": "entry",
"srcPath": "./entry",
"targets": [
{
"name": "default",
"applyToProducts": [
"default"
]
}
]
}
]
}
6 changes: 6 additions & 0 deletions HarmonyOS_NEXT/APIExample/entry/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
/node_modules
/oh_modules
/.preview
/build
/.cxx
/.test
32 changes: 32 additions & 0 deletions HarmonyOS_NEXT/APIExample/entry/build-profile.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
{
"apiType": "stageMode",
"buildOption": {
"externalNativeOptions": {
"path": "./src/main/cpp/CMakeLists.txt",
"abiFilters":["arm64-v8a"],
}
},
"buildOptionSet": [
{
"name": "release",
"arkOptions": {
"obfuscation": {
"ruleOptions": {
"enable": true,
"files": [
"./obfuscation-rules.txt"
]
}
}
}
},
],
"targets": [
{
"name": "default"
},
{
"name": "ohosTest",
}
]
}
6 changes: 6 additions & 0 deletions HarmonyOS_NEXT/APIExample/entry/hvigorfile.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
import { hapTasks } from '@ohos/hvigor-ohos-plugin';

export default {
system: hapTasks, /* Built-in plugin of Hvigor. It cannot be modified. */
plugins:[] /* Custom plugin to extend the functionality of Hvigor. */
}
1 change: 1 addition & 0 deletions HarmonyOS_NEXT/APIExample/entry/libs/PLACEHOLDER
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
AgoraRtcSdk.har
18 changes: 18 additions & 0 deletions HarmonyOS_NEXT/APIExample/entry/obfuscation-rules.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Define project specific obfuscation rules here.
# You can include the obfuscation configuration files in the current module's build-profile.json5.
#
# For more details, see
# https://gitee.com/openharmony/arkcompiler_ets_frontend/blob/master/arkguard/README.md

# Obfuscation options:
# -disable-obfuscation: disable all obfuscations
# -enable-property-obfuscation: obfuscate the property names
# -enable-toplevel-obfuscation: obfuscate the names in the global scope
# -compact: remove unnecessary blank spaces and all line feeds
# -remove-log: remove all console.* statements
# -print-namecache: print the name cache that contains the mapping from the old names to new names
# -apply-namecache: reuse the given cache file

# Keep options:
# -keep-property-name: specifies property names that you want to keep
# -keep-global-name: specifies names that you want to keep in the global scope
35 changes: 35 additions & 0 deletions HarmonyOS_NEXT/APIExample/entry/oh-package-lock.json5

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions HarmonyOS_NEXT/APIExample/entry/oh-package.json5
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "entry",
"version": "1.0.0",
"description": "Please describe the basic information.",
"main": "",
"author": "",
"license": "",
"dependencies": {
"@shengwang/rtc-full": "file:./libs/AgoraRtcSdk.har",
"librawdataprocessing.so": "file:./src/main/cpp/types/librawdataprocessing"
}
}

31 changes: 31 additions & 0 deletions HarmonyOS_NEXT/APIExample/entry/src/main/cpp/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# the minimum version of CMake.
cmake_minimum_required(VERSION 3.4.1)
project(RawDtaProcessing)

set(ROOT_PATH ${CMAKE_CURRENT_SOURCE_DIR})

if(DEFINED PACKAGE_FIND_FILE)
include(${PACKAGE_FIND_FILE})
endif()

include_directories(${ROOT_PATH}
${CMAKE_CURRENT_SOURCE_DIR}/../../../oh_modules/@shengwang/rtc-full/include)

set(AGORA_LIB_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../oh_modules/@shengwang/rtc-full/libs)

add_library(agora_rtc_sdk SHARED IMPORTED)
set_target_properties(agora_rtc_sdk PROPERTIES IMPORTED_LOCATION ${AGORA_LIB_PATH}/${CMAKE_OHOS_ARCH_ABI}/libagora_rtc_sdk.so)

add_library(rawdataprocessing SHARED
napi_init.cpp
audio_render.cpp
origin_audio_data.cpp
origin_video_data.cpp
media_metadata.cpp
custom_audio_render.cpp
)
target_link_libraries(rawdataprocessing PUBLIC
agora_rtc_sdk
libace_napi.z.so
libohaudio.so
libhilog_ndk.z.so )
Loading