rain
2024-05-14 73c208b75b066e5b464d3dbbabcaedfe657ea0ac
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package com.dji.sample.manage.service;
 
import com.dji.sample.common.model.ResponseResult;
import com.dji.sample.manage.model.dto.CapacityDeviceDTO;
import com.dji.sample.manage.model.dto.LiveTypeDTO;
import com.dji.sample.manage.model.receiver.LiveCapacityReceiver;
 
import java.util.List;
 
/**
 * @author sean.zhou
 * @date 2021/11/19
 * @version 0.1
 */
public interface ILiveStreamService {
 
    /**
     * Get all the drone data that can be broadcast live in this workspace.
     * 获取所有可以在这个工作区中直播的无人机数据。
     * @param workspaceId
     * @return
     */
    List<CapacityDeviceDTO> getLiveCapacity(String workspaceId,String sn);
 
    /**
     * Save live capability data.
     * @param liveCapacityReceiver
     * @param timestamp
     */
    void saveLiveCapacity(LiveCapacityReceiver liveCapacityReceiver, Long timestamp);
 
    /**
     * Initiate a live streaming by publishing mqtt message.
     * 通过发布mqtt消息启动实时流。
     * @param liveParam Parameters needed for on-demand.
     * @return
     */
    ResponseResult liveStart(LiveTypeDTO liveParam);
 
    /**
     * Stop the live streaming by publishing mqtt message.
     * 通过发布mqtt消息来停止实时流。
     * @param videoId
     * @return
     */
    ResponseResult liveStop(String videoId);
 
    /**
     * Readjust the clarity of the live streaming by publishing mqtt messages.
     * @param liveParam
     * @return
     */
    ResponseResult liveSetQuality(LiveTypeDTO liveParam);
 
    /**
     * Switches the lens of the device during the live streaming.
     * @param liveParam
     * @return
     */
    ResponseResult liveLensChange(LiveTypeDTO liveParam);
}