仿应用示例
介绍
本示例主要展示了网络连接、文件上传、音视频播放等媒体方面的应用。
使用说明
-
打开应用,此时为仿应用主页,循环播放视频,可点击暂停或者播放。
-
点击右上角搜索图标,可进入搜索页面,默认展示综合类结果页面,由于搜索历史记录及对应搜索结果都是静态模拟数据,所以可点击前三个任意一条记录以展示不同搜索结果,也可输入与前三条记录一致的结果以展示不同搜索结果。
-
点击头像可播放音乐,下滑点击播放按钮可播放视频。
-
点击视频展示视频类结果页面,点击左上角返回图标回到首页。
-
点击首页消息进入好友列表,好友列表为模拟数据,只可点击第一位进入聊天页面。
-
进入聊天页面,输入文字,点击发送图标可发送消息至好友,点击返回回到首页。
-
点击首页加号图标进入录制视频页面,首先进行授权,每条权限等待上一条权限授权成功后再继续授权,点击红色按钮录制,等待若干秒后再次点击停止录制,点击下一步进入发布页面。
-
在发布页面点击右下角发布按钮,则发布视频至服务端,发布成功后回到首页。
工程目录
/Socket
├── entry # 主entry模块目录
│ └── src
│ ├── main
│ ├── ets # ets模块目录
│ ├── components # 组件目录
│ ├── ChatComponent.ets # 聊天
│ ├── MessageComponent.ets # 首页中消息组件
│ ├── SearchComponent.ets # 搜索
│ ├── SearchPlayMusicComponent.ets # 搜索结果综合类音频
│ ├── SearchPlayVideoComponent.ets # 搜索结果综合类视频
│ ├── SearchResultComponent.ets # 搜索结果组件
│ ├── SearchSynthesizeComponent.ets # 搜索结果综合类
│ ├── SearchVideoComponent.ets # 搜索结果视频类
│ ├── VideoComponent.ets # 首页中视频组件
│ ├── controller
│ ├── ChatController.ts # 负责聊天发送消息
│ ├── LoginController.ts # 负责登录
│ ├── UploadController.ts # 负责上传文件
│ ├── entryability
│ ├── appsampled
│ ├── data # 实体类目录
│ ├── ChatBox.ts # 消息信息实体
│ ├── DataSource.ts # 数据源,懒加载使用
│ ├── LoginResult.ts # 登录信息实体
│ ├── R.ts # 返回结果信息实体
│ ├── SearchResult.ts # 搜索结果信息实体
│ ├── Tool.ts # 工具类实体
│ ├── User.ts # 用户类实体
│ ├── pages # 数据源实体
│ ├── CameraPage.ets # 相机录制页面
│ ├── ChatPage.ets # 聊天页面
│ ├── Login.ets # 登录页面
│ ├── PublishPage.ets # 发布页面
│ ├── SearchPage.ets # 搜索页面
│ ├── mock # 模拟数据
│ ├── model
│ ├── AVPlayerModel.ts # 负责音视频播放
│ ├── CameraModel.ts # 负责相机预览和录制等管理
│ ├── MediaModel.ts # 负责媒体查询等媒体文件操作
│ ├── NetworkModel.ts # 负责网络通信等操作
│ ├── pages
│ ├── Index.ets # 首页
│ ├── utils # 工具类目录
具体实现
- 网络连接合请求:@ohos.net.http
- 消息接收:@ohos.net.webSocket
- 文件上传:@ohos.request
- 文件操作:@ohos.file.photoAccessHelper
- 音视频播放:@ohos.multimedia.media
相关权限
网络权限: ohos.permission.INTERNET
相机权限: ohos.permission.CAMERA
麦克风权限: ohos.permission.MICROPHONE
媒体位置权限: ohos.permission.MEDIA_LOCATION
媒体文件写入权限: ohos.permission.WRITE_MEDIA
媒体文件读取权限: ohos.permission.READ_MEDIA
依赖
约束与限制
-
本示例仅支持标准系统上运行,支持设备:RK3568。
-
本示例为Stage模型,仅支持API10版本SDK,版本号:4.0.7.5,镜像版本号: OpenHarmony 4.0.7.5。
-
本示例需要使用DevEco Studio 3.1 Release (Build Version: 3.1.0.500, built on April 28, 2023)才可编译运行。
-
本示例在启动前需搭建服务端环境,需与客户端处于同一局域网,成功启动服务端后再运行客户端,服务端代码(服务器前端代码,服务器后端代码)。
-
在进入录制页面授权时,在授权第三条权限之前等待若干秒,等待上一条权限授权成功后再继续授权,否则可能授权失败。
下载
如需单独下载本工程,执行如下命令:
git init
git config core.sparsecheckout true
echo sample/AppSampleD/ > .git/info/sparse-checkout
git remote add origin https://gitcode.com/openharmony/xts_tools.git
git pull origin master