萤石云 iOSSDK,移植跨平台相关工程
Davin
2023-06-30 3e4be5ed4d2c0395dd60e392baf86c59762059b1
feature 猫眼全屏布局调整 && UI细节适配
12个文件已添加
57个文件已删除
38个文件已修改
768 ■■■■■ 已修改文件
EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/picture_bg.imageset/picture_bg.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/picture_bg.imageset/picture_bg@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stoppaly_btn_sel.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stoppaly_btn_sel.imageset/preview_stoppaly_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stoppaly_btn_sel.imageset/preview_stoppaly_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn .imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn .imageset/preview_stopplay_btn .png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn .imageset/preview_stopplay_btn @2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn.imageset/Contents.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn.imageset/preview_stopplay_btn .png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn.imageset/preview_stopplay_btn @2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn.imageset/preview_stopplay_btn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn.imageset/preview_stopplay_btn@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn_sel.imageset/Contents.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn.imageset/Contents.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn.imageset/preview_unvoice_btn.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn.imageset/preview_unvoice_btn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn.imageset/preview_unvoice_btn@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn_sel.imageset/Contents.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn.imageset/Contents.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn.imageset/preview_voice_btn.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn.imageset/preview_voice_btn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn.imageset/preview_voice_btn@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn_sel.imageset/Contents.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn_sel.imageset/preview_voice_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn_sel.imageset/preview_voice_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn_sel.imageset/preview_voice_btn_sel@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Navigationbar/large_back_btn.imageset/Contents.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Navigationbar/large_back_btn.imageset/large_back_btn.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Navigationbar/large_back_btn.imageset/large_back_btn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Navigationbar/large_back_btn.imageset/large_back_btn@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge.imageset/Contents.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge.imageset/preview_enlarge.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge.imageset/preview_enlarge@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge.imageset/preview_enlarge@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge_btn_sel.imageset/Contents.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn.imageset/Contents.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn.imageset/preview_play_btn.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn.imageset/preview_play_btn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn.imageset/preview_play_btn@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn_sel.imageset/Contents.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn_sel.imageset/preview_play_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn_sel.imageset/preview_play_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn_sel.imageset/preview_play_btn_sel@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/hdl_ez_list_next.imageset/hdl_ez_list_next@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/hdl_ez_list_next.imageset/hdl_ez_list_next@3x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/large_back_btn.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/large_back_btn.imageset/large_back_btn.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/large_back_btn.imageset/large_back_btn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/picture_bg.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/picture_bg.imageset/picture_bg.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/picture_bg.imageset/picture_bg@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge.imageset/preview_enlarge.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge.imageset/preview_enlarge@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge_btn_sel.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn.imageset/preview_play_btn.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn.imageset/preview_play_btn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn_sel.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn_sel.imageset/preview_play_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn_sel.imageset/preview_play_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn .imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn .imageset/preview_stopplay_btn .png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn .imageset/preview_stopplay_btn @2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn.imageset/preview_stopplay_btn .png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn.imageset/preview_stopplay_btn @2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn_sel.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn.imageset/preview_unvoice_btn.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn.imageset/preview_unvoice_btn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn_sel.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn.imageset/preview_voice_btn.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn.imageset/preview_voice_btn@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn_sel.imageset/Contents.json 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn_sel.imageset/preview_voice_btn_sel.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn_sel.imageset/preview_voice_btn_sel@2x.png 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/EZMain.storyboard 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a 补丁 | 查看 | 原始文档 | blame | 历史
EZSDK/EZSDK/EZ/Global/EZHttpUtil.h 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZSDK/EZSDK/EZ/Global/EZHttpUtil.m 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZDeviceMsgListView.m 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZVideoDoorToolView.h 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZVideoDoorToolView.m 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m 92 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m 149 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZSDK/EZSDK/EZSDK.h 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZSDK/EZSDK/EZSDK.m 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
EZDemo/HDLEZDemo/HDLEZDemo/AppDelegate.m
@@ -25,10 +25,10 @@
    // Override point for customization after application launch.
    [[EZSDK sharedInstance] initLibWithAppKey:@"1aa98a90489b4838b966b57018b4b04b" globalAppKey:@"1aa98a90489b4838b966b57018b4b04b"];
//    [[EZSDK sharedInstance] initLibWithAppKey:@"941b1b72b6294998acfd36c14931b675" globalAppKey:@"941b1b72b6294998acfd36c14931b675"];
    [[EZSDK sharedInstance] setHDlAccessToken:@"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI0YThmMmEzYzEwNTc0ZmVhYjA5MjAxMjExNDY0NjZjMiIsImNvbXBhbnlJZCI6IjAiLCJyb2xlIjoiIiwiaGVhZGVyUHJlZml4IjoiQmVhcmVyICIsInRlbmFudElkIjoiMjAiLCJ1c2VyVHlwZSI6IlVTRVJfQyIsInRva2VuVHlwZSI6ImFjY2Vzc190b2tlbiIsInVzZXJOYW1lIjoiS2FlZGUiLCJ1c2VyRGF0YVJpZ2h0IjoiMSIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzNTAyODA5OTU5OTg4NjMzNjEiLCJleHAiOjE2ODc2NzE5NzcsIm5iZiI6MTY4NzY2NDc3N30.XZlwfkpHjBFynLbt7bQt7toCV_nHtPTnPmjhbpwsnzrywE2zVZv_8HcvF6OaZZYORrb2DAHQ6hCagQ6mwwBu8dJ0IJM3GDj98WPwIJh9tbMA9zData1erk0nZto2HeP4jVVMFkBGcfdyZd2npeAOa38oAGvER18RCr_P_7u6vJs" refreshToken:@"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI4YmE0MjdmOTQ2MTU0YzUzYTAyZmZjYTE0MTY1M2YyNyIsImNvbXBhbnlJZCI6IjAiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidGVuYW50SWQiOiIyMCIsInRva2VuVHlwZSI6InJlZnJlc2hfdG9rZW4iLCJvcGVuQXBwbGljYXRpb25JZCI6IjAiLCJ1c2VySWQiOiIxMzUwMjgwOTk1OTk4ODYzMzYxIiwiZXhwIjoxNjg4Mjc2NjA2LCJuYmYiOjE2ODc2NzE4MDZ9.OaPGX7jUBaOJQKQdlrIACI68KKCitgH0Q_QdDX29R1LGe7wM2q2trlHgeX1si5NrJeBQo0W1zwdk5aFccAq64DqZs9Vl6B3QJZKs1EScQCHLhrZcBSL1z_mge2qkKyXTsLSMVIBYMRwcQg7dh7fXrofn50BhDjBDYqKS25t2Mn4"];
//    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://test-gz.hdlcontrol.com" platform:1 homeId:@"1547099040465408002"];
    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://nearest.hdlcontrol.com" platform:1 homeId:@"1546324800135176193"];
    [[EZSDK sharedInstance] setEZAccessToken:@"ra.6zihimwgdtix1asfaq5ter8a37ukrvzl-9697ojgbfn-0xo05zz-tgxzohe4l"];
    [[EZSDK sharedInstance] setHDlAccessToken:@"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI5ZmI0M2UyOTdjMTk0NTliOTVlMDUzNzIwZjNiNjYyZiIsImNvbXBhbnlJZCI6IjAiLCJyb2xlIjoiIiwiaGVhZGVyUHJlZml4IjoiQmVhcmVyICIsInVzZXJBY2NvdW50Ijoid3hyIiwidGVuYW50SWQiOiIyMCIsInVzZXJUeXBlIjoiVVNFUl9DIiwidG9rZW5UeXBlIjoiYWNjZXNzX3Rva2VuIiwidXNlck5hbWUiOiJ3eHIiLCJ1c2VyRGF0YVJpZ2h0IjoiMSIsIm9wZW5BcHBsaWNhdGlvbklkIjoiMCIsInVzZXJJZCI6IjEzOTIwMzU1NjgyMDQ0MjMxNjkiLCJleHAiOjE2ODgwMTY4MTQsIm5iZiI6MTY4ODAwOTYxNH0.kJ-NPJIU314yz0pvD4ccmnA7_bwjbB94bpo-FBQZUPUrVz6BVSOvheiP_zzVnW16m2pArt-3O_Y8v4SfnnGWfW5X95AbAHsDwKT0Uva2PZMQaCm07HPbz02tZcRT4ssRCDMQEiDqTqzvp_fL3dhC6IrPLmUbYFy03VEPEJ4Zwtc" refreshToken:@"eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI3YTI1NjE5YTUzNDk0NWE3YTE2MGViODZlZGM3ZmFiNiIsImNvbXBhbnlJZCI6IjAiLCJoZWFkZXJQcmVmaXgiOiJCZWFyZXIgIiwidGVuYW50SWQiOiIyMCIsInRva2VuVHlwZSI6InJlZnJlc2hfdG9rZW4iLCJvcGVuQXBwbGljYXRpb25JZCI6IjAiLCJ1c2VySWQiOiIxMzkyMDM1NTY4MjA0NDIzMTY5IiwiZXhwIjoxNjg4NjE0NDE0LCJuYmYiOjE2ODgwMDk2MTR9.NnwX6Bpzv5s3EOTs-o13UB65bCFj_d8K81O9HQkjLbwtQamWs1QY902E1e4j2QM8E5tDFcz5Z5uGcVRyDb2_S09MU6uYArSU3xcKggt4lvdhvxIENrSmFQFBKbA40lNflYo7jZ5Mr2x-vgC0wdYw9s3JMe_jBnNm-KuQKr-rWUo"];
    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://test-gz.hdlcontrol.com" platform:1 homeId:@"1547099040465408002"];
//    [[EZSDK sharedInstance] setRequestHttpsHostAndPlatform:@"https://nearest.hdlcontrol.com" platform:1 homeId:@"1546324800135176193"];
    [[EZSDK sharedInstance] setEZAccessToken:@"ra.7k5en870837dvic92xsbtkoa4y01rfgr-3nr377z09k-1mihhva-yifqlowra"];
//    [[EZSDK sharedInstance] setEZAccessToken:@"ra.3hkirwcadrpfmaa89wep99io3wto4yds-7zptb10d20-1wxg4f3-ygiojudee"];
    
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/picture_bg.imageset/picture_bg.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/picture_bg.imageset/picture_bg@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stoppaly_btn_sel.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stoppaly_btn_sel.imageset/preview_stoppaly_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stoppaly_btn_sel.imageset/preview_stoppaly_btn_sel@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn .imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn .imageset/preview_stopplay_btn .png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn .imageset/preview_stopplay_btn @2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn.imageset/Contents.json
@@ -1,16 +1,16 @@
{
  "images" : [
    {
      "filename" : "preview_stopplay_btn .png",
      "idiom" : "universal",
      "scale" : "1x"
    },
    {
      "filename" : "preview_stopplay_btn @2x.png",
      "filename" : "preview_stopplay_btn@2x.png",
      "idiom" : "universal",
      "scale" : "2x"
    },
    {
      "filename" : "preview_stopplay_btn@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn.imageset/preview_stopplay_btn .png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn.imageset/preview_stopplay_btn @2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn.imageset/preview_stopplay_btn@2x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn.imageset/preview_stopplay_btn@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn_sel.imageset/Contents.json
@@ -1,7 +1,6 @@
{
  "images" : [
    {
      "filename" : "preview_stopplay_btn_sel.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
@@ -11,6 +10,7 @@
      "scale" : "2x"
    },
    {
      "filename" : "preview_stopplay_btn_sel@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn.imageset/Contents.json
@@ -1,7 +1,6 @@
{
  "images" : [
    {
      "filename" : "preview_unvoice_btn.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
@@ -11,6 +10,7 @@
      "scale" : "2x"
    },
    {
      "filename" : "preview_unvoice_btn@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn.imageset/preview_unvoice_btn.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn.imageset/preview_unvoice_btn@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn.imageset/preview_unvoice_btn@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn_sel.imageset/Contents.json
@@ -1,7 +1,6 @@
{
  "images" : [
    {
      "filename" : "preview_unvoice_btn_sel.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
@@ -11,6 +10,7 @@
      "scale" : "2x"
    },
    {
      "filename" : "preview_unvoice_btn_sel@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn.imageset/Contents.json
@@ -1,7 +1,6 @@
{
  "images" : [
    {
      "filename" : "preview_voice_btn.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
@@ -11,6 +10,7 @@
      "scale" : "2x"
    },
    {
      "filename" : "preview_voice_btn@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn.imageset/preview_voice_btn.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn.imageset/preview_voice_btn@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn.imageset/preview_voice_btn@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn_sel.imageset/Contents.json
@@ -1,7 +1,6 @@
{
  "images" : [
    {
      "filename" : "preview_voice_btn_sel.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
@@ -11,6 +10,7 @@
      "scale" : "2x"
    },
    {
      "filename" : "preview_voice_btn_sel@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn_sel.imageset/preview_voice_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn_sel.imageset/preview_voice_btn_sel@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/LivePlay/preview_voice_btn_sel.imageset/preview_voice_btn_sel@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Navigationbar/large_back_btn.imageset/Contents.json
@@ -1,7 +1,6 @@
{
  "images" : [
    {
      "filename" : "large_back_btn.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
@@ -11,6 +10,7 @@
      "scale" : "2x"
    },
    {
      "filename" : "large_back_btn@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Navigationbar/large_back_btn.imageset/large_back_btn.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Navigationbar/large_back_btn.imageset/large_back_btn@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Navigationbar/large_back_btn.imageset/large_back_btn@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge.imageset/Contents.json
@@ -1,7 +1,6 @@
{
  "images" : [
    {
      "filename" : "preview_enlarge.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
@@ -11,6 +10,7 @@
      "scale" : "2x"
    },
    {
      "filename" : "preview_enlarge@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge.imageset/preview_enlarge.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge.imageset/preview_enlarge@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge.imageset/preview_enlarge@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge_btn_sel.imageset/Contents.json
@@ -1,7 +1,6 @@
{
  "images" : [
    {
      "filename" : "preview_enlarge_btn_sel.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
@@ -11,6 +10,7 @@
      "scale" : "2x"
    },
    {
      "filename" : "preview_enlarge_btn_sel@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn.imageset/Contents.json
@@ -1,7 +1,6 @@
{
  "images" : [
    {
      "filename" : "preview_play_btn.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
@@ -11,6 +10,7 @@
      "scale" : "2x"
    },
    {
      "filename" : "preview_play_btn@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn.imageset/preview_play_btn.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn.imageset/preview_play_btn@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn.imageset/preview_play_btn@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn_sel.imageset/Contents.json
@@ -1,7 +1,6 @@
{
  "images" : [
    {
      "filename" : "preview_play_btn_sel.png",
      "idiom" : "universal",
      "scale" : "1x"
    },
@@ -11,6 +10,7 @@
      "scale" : "2x"
    },
    {
      "filename" : "preview_play_btn_sel@3x.png",
      "idiom" : "universal",
      "scale" : "3x"
    }
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn_sel.imageset/preview_play_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn_sel.imageset/preview_play_btn_sel@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/Playback/preview_play_btn_sel.imageset/preview_play_btn_sel@3x.png
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/hdl_ez_list_next.imageset/hdl_ez_list_next@2x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/hdl_ez_list_next.imageset/hdl_ez_list_next@3x.png

EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/large_back_btn.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/large_back_btn.imageset/large_back_btn.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/large_back_btn.imageset/large_back_btn@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/picture_bg.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/picture_bg.imageset/picture_bg.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/picture_bg.imageset/picture_bg@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge.imageset/preview_enlarge.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge.imageset/preview_enlarge@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge_btn_sel.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_enlarge_btn_sel.imageset/preview_enlarge_btn_sel@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn.imageset/preview_play_btn.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn.imageset/preview_play_btn@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn_sel.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn_sel.imageset/preview_play_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_play_btn_sel.imageset/preview_play_btn_sel@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn .imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn .imageset/preview_stopplay_btn .png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn .imageset/preview_stopplay_btn @2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn.imageset/preview_stopplay_btn .png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn.imageset/preview_stopplay_btn @2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn_sel.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_stopplay_btn_sel.imageset/preview_stopplay_btn_sel@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn.imageset/preview_unvoice_btn.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn.imageset/preview_unvoice_btn@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn_sel.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_unvoice_btn_sel.imageset/preview_unvoice_btn_sel@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn.imageset/preview_voice_btn.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn.imageset/preview_voice_btn@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn_sel.imageset/Contents.json
File was deleted
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn_sel.imageset/preview_voice_btn_sel.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/Assets.xcassets/preview_voice_btn_sel.imageset/preview_voice_btn_sel@2x.png
Binary files differ
EZDemo/HDLEZDemo/HDLEZDemo/EZMain.storyboard
@@ -941,6 +941,12 @@
                                            <constraint firstAttribute="height" constant="37" id="dpN-py-vBv"/>
                                        </constraints>
                                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                        <state key="normal">
                                            <color key="titleColor" red="0.61960784310000006" green="0.62352941179999999" blue="0.62352941179999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                        </state>
                                        <state key="highlighted">
                                            <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                        </state>
                                    </button>
                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="lTh-qe-8pV">
                                        <rect key="frame" x="300" y="0.0" width="75" height="37"/>
@@ -960,7 +966,10 @@
                                        </constraints>
                                        <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                        <state key="normal" title="高清">
                                            <color key="titleColor" red="0.70588235294117641" green="0.70588235294117641" blue="0.70588235294117641" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                            <color key="titleColor" red="0.61960784310000006" green="0.62352941179999999" blue="0.62352941179999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                        </state>
                                        <state key="highlighted">
                                            <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                        </state>
                                        <connections>
                                            <action selector="qualityButtonClicked:" destination="uBF-Yq-Qo0" eventType="touchUpInside" id="Hze-u0-cgn"/>
@@ -1249,7 +1258,7 @@
                                </constraints>
                            </view>
                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="nkn-oC-NfP">
                                <rect key="frame" x="0.0" y="64" width="40" height="40"/>
                                <rect key="frame" x="17.5" y="64" width="40" height="40"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="40" id="WQV-Fb-Hpn"/>
                                    <constraint firstAttribute="width" constant="40" id="rqc-sI-jaX"/>
@@ -1361,10 +1370,10 @@
                            <constraint firstItem="Yrc-c9-rvb" firstAttribute="top" secondItem="heE-pR-PSR" secondAttribute="bottom" constant="10" id="0Cf-Q8-Mwq"/>
                            <constraint firstAttribute="trailing" secondItem="YwB-6z-DKL" secondAttribute="trailing" id="0oZ-sb-kgM"/>
                            <constraint firstItem="YwB-6z-DKL" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="135-mO-STg"/>
                            <constraint firstItem="dTs-1h-o4p" firstAttribute="centerX" secondItem="JEB-Q6-XNh" secondAttribute="centerX" id="16Z-Vr-x9e"/>
                            <constraint firstItem="7Gq-77-ypg" firstAttribute="top" secondItem="NRj-hs-uOI" secondAttribute="bottom" priority="751" constant="37" id="4Dh-L5-Wxp"/>
                            <constraint firstItem="YwB-6z-DKL" firstAttribute="centerX" secondItem="PYB-vu-Xcw" secondAttribute="centerX" id="58C-Bi-adb"/>
                            <constraint firstItem="3qm-Zv-a7S" firstAttribute="top" secondItem="sMv-Yh-W5N" secondAttribute="bottom" id="5fc-VK-Tfj"/>
                            <constraint firstItem="dTs-1h-o4p" firstAttribute="centerX" secondItem="PYB-vu-Xcw" secondAttribute="centerX" id="7Nq-GR-ypc"/>
                            <constraint firstItem="NRj-hs-uOI" firstAttribute="trailing" secondItem="1FE-Su-4U4" secondAttribute="trailing" id="9po-jh-PJt"/>
                            <constraint firstAttribute="trailing" secondItem="NRj-hs-uOI" secondAttribute="trailing" id="G3Q-MC-BpN"/>
                            <constraint firstItem="2bL-GF-xWw" firstAttribute="top" secondItem="heE-pR-PSR" secondAttribute="bottom" id="JNG-uc-9XA"/>
@@ -1374,7 +1383,6 @@
                            <constraint firstItem="NRj-hs-uOI" firstAttribute="centerY" secondItem="yYv-tJ-QCV" secondAttribute="centerY" id="TGA-a5-AUm"/>
                            <constraint firstItem="nkn-oC-NfP" firstAttribute="top" secondItem="heE-pR-PSR" secondAttribute="bottom" id="Tn0-Se-wHE"/>
                            <constraint firstItem="sMv-Yh-W5N" firstAttribute="top" secondItem="7Gq-77-ypg" secondAttribute="top" id="TvP-3j-NV3"/>
                            <constraint firstItem="nkn-oC-NfP" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="YSp-TA-bZd"/>
                            <constraint firstItem="yYv-tJ-QCV" firstAttribute="centerX" secondItem="YwB-6z-DKL" secondAttribute="centerX" id="Yt6-5R-nAw"/>
                            <constraint firstItem="1FE-Su-4U4" firstAttribute="top" secondItem="NRj-hs-uOI" secondAttribute="bottom" id="aO9-KQ-MPh"/>
                            <constraint firstItem="2bL-GF-xWw" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="adY-eM-6Nb"/>
@@ -1387,6 +1395,7 @@
                            <constraint firstItem="7Gq-77-ypg" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="nIY-1B-8KJ"/>
                            <constraint firstItem="NRj-hs-uOI" firstAttribute="leading" secondItem="PYB-vu-Xcw" secondAttribute="leading" id="opo-g8-z05"/>
                            <constraint firstAttribute="trailing" secondItem="7Gq-77-ypg" secondAttribute="trailing" id="pjs-uX-99u"/>
                            <constraint firstItem="nkn-oC-NfP" firstAttribute="centerX" secondItem="xSp-4i-Jwh" secondAttribute="centerX" id="qFB-6I-bhK"/>
                            <constraint firstAttribute="trailing" secondItem="2bL-GF-xWw" secondAttribute="trailing" id="sJ1-Mt-Ys4"/>
                            <constraint firstItem="gFl-PI-CLn" firstAttribute="top" secondItem="heE-pR-PSR" secondAttribute="bottom" id="sJh-Px-GtM"/>
                            <constraint firstAttribute="trailing" secondItem="gFl-PI-CLn" secondAttribute="trailing" id="vZX-0k-C1e"/>
@@ -1405,11 +1414,13 @@
                        <outlet property="cloudTip" destination="wXb-RI-dLd" id="bCu-fP-8IF"/>
                        <outlet property="controlButton" destination="fUI-tR-jyG" id="uqI-1T-h8V"/>
                        <outlet property="currentHDStatus" destination="oNR-gT-NPm" id="STe-rh-VhG"/>
                        <outlet property="emptyBtnLeftMargin" destination="ea4-ei-JXX" id="aQh-Jb-qGX"/>
                        <outlet property="emptyButton" destination="MqM-GF-jSr" id="jD7-hz-yfd"/>
                        <outlet property="hangUpButton" destination="jPI-nC-uAq" id="WAF-xK-pJI"/>
                        <outlet property="highButton" destination="skK-Ar-y6h" id="jbk-j5-fCX"/>
                        <outlet property="ignoreButton" destination="aq5-rn-Dgo" id="0J6-cC-KP5"/>
                        <outlet property="largeBackButton" destination="nkn-oC-NfP" id="kwo-DU-hgk"/>
                        <outlet property="largeBtnRightMargin" destination="aid-gD-fi2" id="2eQ-2e-83s"/>
                        <outlet property="largeButton" destination="lTh-qe-8pV" id="feK-gX-fjt"/>
                        <outlet property="largeTitleLabel" destination="2bL-GF-xWw" id="mev-Ko-lDT"/>
                        <outlet property="localRecordButton" destination="xQS-rQ-Xez" id="Z0M-JE-cTx"/>
@@ -1418,6 +1429,7 @@
                        <outlet property="lowButton" destination="UlQ-aK-1VP" id="ISE-DJ-W5I"/>
                        <outlet property="messageLabel" destination="YwB-6z-DKL" id="196-Ds-Vl6"/>
                        <outlet property="middleButton" destination="WSh-Ao-McO" id="vty-N8-cDz"/>
                        <outlet property="playBtnLeftMargin" destination="qZZ-Fc-8jt" id="Fyj-20-v8W"/>
                        <outlet property="playButton" destination="xSp-4i-Jwh" id="DUU-ap-reQ"/>
                        <outlet property="playerPlayButton" destination="yYv-tJ-QCV" id="EIB-lc-14l"/>
                        <outlet property="playerView" destination="1Xz-5f-ZJx" id="tYS-5X-mCe"/>
@@ -1571,6 +1583,7 @@
                                            <constraint firstAttribute="width" constant="60" id="mZh-Ks-yHR"/>
                                        </constraints>
                                        <state key="normal" image="preview_play_btn"/>
                                        <state key="highlighted" image="preview_play_btn_sel"/>
                                        <connections>
                                            <action selector="playButtonClicked:" destination="I6z-uV-dEU" eventType="touchUpInside" id="nzq-1I-c5F"/>
                                        </connections>
@@ -1582,6 +1595,7 @@
                                            <constraint firstAttribute="height" constant="37" id="nC8-FN-WAT"/>
                                        </constraints>
                                        <state key="normal" image="preview_voice_btn"/>
                                        <state key="highlighted" image="preview_voice_btn_sel"/>
                                        <connections>
                                            <action selector="voiceButtonClicked:" destination="I6z-uV-dEU" eventType="touchUpInside" id="aAV-1Z-FGI"/>
                                        </connections>
@@ -2581,9 +2595,9 @@
        <image name="hdl_ez_cat_eyes_answer" width="68" height="68"/>
        <image name="hdl_ez_cat_eyes_hang_up" width="68" height="68"/>
        <image name="hdl_ez_cat_eyes_ignore" width="68" height="68"/>
        <image name="hdl_ez_list_next" width="8" height="8"/>
        <image name="hdl_ez_list_next" width="16" height="16"/>
        <image name="icon_download_fill" width="20" height="20"/>
        <image name="large_back_btn" width="10" height="19"/>
        <image name="large_back_btn" width="12" height="20"/>
        <image name="logo" width="210" height="94"/>
        <image name="message" width="39" height="39"/>
        <image name="no_message" width="94" height="94"/>
@@ -2601,10 +2615,10 @@
        <image name="preview_barrel" width="65" height="65"/>
        <image name="preview_barrel_dis" width="65" height="65"/>
        <image name="preview_barrel_sel" width="65" height="65"/>
        <image name="preview_enlarge" width="37" height="37"/>
        <image name="preview_enlarge_btn_sel" width="37" height="37"/>
        <image name="preview_play_btn" width="37" height="37"/>
        <image name="preview_play_btn_sel" width="37" height="37"/>
        <image name="preview_enlarge" width="20" height="20"/>
        <image name="preview_enlarge_btn_sel" width="20" height="20"/>
        <image name="preview_play_btn" width="20" height="20"/>
        <image name="preview_play_btn_sel" width="20" height="20"/>
        <image name="preview_recording" width="65" height="65"/>
        <image name="preview_recording_dis" width="65" height="65"/>
        <image name="preview_recording_sel" width="65" height="65"/>
@@ -2614,9 +2628,9 @@
        <image name="preview_talkback" width="65" height="65"/>
        <image name="preview_talkback_dis" width="65" height="65"/>
        <image name="preview_talkback_sel" width="65" height="65"/>
        <image name="preview_unvoice_btn" width="37" height="37"/>
        <image name="preview_voice_btn" width="37" height="37"/>
        <image name="preview_voice_btn_sel" width="37" height="37"/>
        <image name="preview_unvoice_btn" width="20" height="20"/>
        <image name="preview_voice_btn" width="20" height="20"/>
        <image name="preview_voice_btn_sel" width="20" height="20"/>
        <image name="ptz_bg" width="154" height="154"/>
        <image name="setup" width="39" height="39"/>
        <image name="spkImg" width="155" height="155"/>
EZDemo/HDLEZDemo/HDLEZDemo/ViewController.m
@@ -10,7 +10,7 @@
//萤石门锁spk
#define HDLEZ_DOOR_SPK  @"security.door.ezviz"
#define HDLEZ_DEVICEID  @"1671450533475319810"
#define HDLEZ_DEVICEID  @"1673936447243640833"
//#define HDLEZ_DEVICESERIAL @"K36229010"
#define HDLEZ_DEVICESERIAL @"J92513662"
EZDemo/HDLEZDemo/HDLEZDemo/libEZSDK.a
Binary files differ
EZSDK/EZSDK/EZ/Global/EZHttpUtil.h
@@ -143,6 +143,24 @@
                       pageNo:(NSInteger)pageNo
                completion:(void (^)(ResponseData *responseData))completion;
/**
 *  @since 河东获取设备消息
 *  @param deviceId   设备id
 *  @param completion   回调block,error为空时表示成功
 */
- (void)getCoverSwitchStatus:(NSString *)deviceId
                  completion:(void (^)(ResponseData *responseData))completion;
/**
 *  @since 河东获取设备消息
 *  @param deviceId   设备id
 *  @param enable   隐私遮蔽状态
 *  @param completion   回调block,error为空时表示成功
 */
- (void)getCoverSwitchStatus:(NSString *)deviceId
                      enable:(NSInteger)enable
                  completion:(void (^)(ResponseData *responseData))completion;
@end
NS_ASSUME_NONNULL_END
EZSDK/EZSDK/EZ/Global/EZHttpUtil.m
@@ -30,6 +30,9 @@
#define API_POST_EZ_DeleteAlarmMes @"/home-wisdom/platform/yingshi/alarm/delete"//删除报警消息
#define API_POST_EZ_ReadAlarmMes @"/home-wisdom/platform/yingshi/alarm/updateChecked"//标记报警消息已读
#define API_POST_EZ_GetCoverSwitchStaus @"/home-wisdom/platform/yingshi/getCoverSwitchStatus"//获取萤石镜头遮蔽开关状态
#define API_POST_EZ_GetCoverSwitch @"/home-wisdom/platform/yingshi/coverSwitch"//设置萤石镜头遮蔽开关
#pragma mark APP_KEY
#define APP_KEY @"HDL-HOME-APP-TEST"
#define SECRET_KEY @"WeJ8TY88vbakCcnvH8G1tDUqzLWY8yss"
@@ -421,6 +424,59 @@
    }];
}
/**
 *  @since 河东获取设备消息
 *  @param deviceId   设备id
 *  @param completion   回调block,error为空时表示成功
 */
- (void)getCoverSwitchStatus:(NSString *)deviceId
                  completion:(void (^)(ResponseData *responseData))completion {
    //设置请求参数
    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
    [parameters setValue:deviceId forKey:@"deviceId"];
    [parameters setValue:@(1) forKey:@"platform"];
    [parameters setValue:[NSString stringWithFormat:@"%@",[GlobalKit shareKit].hdlAppKey] forKey:@"appKey"];
    [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"];
    parameters = [self GetSignRequestDictionary:parameters];
    NSLog(@"获取设备消息参数:%@",parameters);
    [self requestHttpsPost:API_POST_EZ_GetCoverSwitchStaus parameters:parameters completion:^(ResponseData *responseData) {
        if (completion) {
            completion (responseData);
        }
    }];
}
/**
 *  @since 河东获取设备消息
 *  @param deviceId   设备id
 *  @param enable   隐私遮蔽状态
 *  @param completion   回调block,error为空时表示成功
 */
- (void)getCoverSwitchStatus:(NSString *)deviceId
                      enable:(NSInteger)enable
                  completion:(void (^)(ResponseData *responseData))completion {
    //设置请求参数
    NSMutableDictionary *parameters = [NSMutableDictionary dictionary];
    [parameters setValue:deviceId forKey:@"deviceId"];
    [parameters setValue:@(enable) forKey:@"enable"];
    [parameters setValue:@(1) forKey:@"platform"];
    [parameters setValue:[NSString stringWithFormat:@"%@",[GlobalKit shareKit].hdlAppKey] forKey:@"appKey"];
    [parameters setValue:[GlobalKit shareKit].hdlHomeId forKey:@"homeId"];
    parameters = [self GetSignRequestDictionary:parameters];
    NSLog(@"获取设备消息参数:%@",parameters);
    [self requestHttpsPost:API_POST_EZ_GetCoverSwitch parameters:parameters completion:^(ResponseData *responseData) {
        if (completion) {
            completion (responseData);
        }
    }];
}
/// 刷新token
/// @param block 结果
- (void)refreshHDLToken:(void (^)(BOOL isSuccess))block{
@@ -501,6 +557,7 @@
        URL = TestRequestHttpsHost;
    }
    URL = [NSString stringWithFormat:@"%@%@", URL, apiPath];
    NSLog(@"############接口请求url:%@", URL);
    
//    NSURLSessionDataTask * task=nil;
    AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] initWithSessionConfiguration:[NSURLSessionConfiguration defaultSessionConfiguration]];
EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZDeviceMsgListView.m
@@ -74,7 +74,7 @@
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
    if (self.msgList.count <= indexPath.row) return;
    HDLEZDeviceMsgInfoModel *messageModel = self.msgList[indexPath.row];
    if (self.previewPic) {
    if (self.previewPic && messageModel.imageUrl && messageModel.imageUrl.length > 0) {
        self.previewPic(messageModel.imageUrl);
    }
}
@@ -94,13 +94,24 @@
    NSString *stataus = @"";
    if (indexPath.row == 0) {
        stataus = @"未接";
        messageModel.createTime = @"";
    } else if (indexPath.row == 1) {
        stataus = @"已接";
    }
    [cell configMessageInfoWithTitle:messageModel.title deviceStatus:stataus messageTime:messageModel.createTime messageImage:indexPath.row != 0 ? messageModel.imageUrl : @""];
    if (messageModel.createTime && messageModel.createTime.length == 13) {
        messageModel.createTime = [messageModel.createTime substringToIndex:10];
    }
    NSString *messageTime = [self turnDate:messageModel.createTime];
    [cell configMessageInfoWithTitle:messageModel.content deviceStatus:stataus messageTime:messageTime messageImage:indexPath.row != 0 ? messageModel.imageUrl : @""];
    [cell showSpearator:(self.msgList.count != indexPath.row + 1)];
}
/*时间戳转时间
 */
-(NSString *)turnDate:(NSString*)dateStr{
    return [HDLEZConstants timeStrWithFormate:@"yyyy.MM.dd HH:mm" data:[NSDate dateWithTimeIntervalSince1970:[dateStr integerValue]]];;
}
/*设置消息列表值
 */
-(void)setMsgList:(NSArray<HDLEZDeviceMsgInfoModel *> *)msgList{
EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZVideoDoorToolView.h
@@ -38,6 +38,10 @@
/// - Parameter videoLevel: 清晰度
- (void)videoLevel:(NSInteger)videoLevel;
/// 设置清晰度调节
/// - Parameter isSupport: 是否支持调整清晰度
- (void)supportVideoLevelChange:(BOOL)isSupport;
/// 响铃信息
/// - Parameter isRing: 是否正在响铃🔔
- (void)ringRingRing:(BOOL)isRing;
EZSDK/EZSDK/EZ/TempPassword/Views/HDLEZVideoDoorToolView.m
@@ -163,6 +163,12 @@
    self.hangUpButton.hidden = !isRing;
}
/// 设置清晰度调节
/// - Parameter isSupport: 是否支持调整清晰度
- (void)supportVideoLevelChange:(BOOL)isSupport {
    self.qualityButton.userInteractionEnabled = isSupport;
}
#pragma mark - PrivateMethod
- (void)hangUpAction {
    if (self.fullOperation) {
@@ -190,6 +196,8 @@
//    }
    self.qualityButton.selected = !self.qualityButton.selected;
    self.qualityBox.hidden = !self.qualityButton.selected;
    self.hangUpButton.enabled = !self.qualityButton.selected;
    self.hangUpButton.alpha = self.qualityButton.selected ? 0.5 : 1;
}
- (void)fullSceneAction {
EZSDK/EZSDK/EZ/UIViewControllers/EZLivePlayViewController.m
@@ -39,6 +39,7 @@
@property (nonatomic) BOOL isOpenSound;
@property (nonatomic) BOOL isPlaying;
@property (nonatomic) BOOL isAnswering;     // 正在接听中
@property (nonatomic, strong) NSTimer *recordTimer;
@property (nonatomic) NSTimeInterval seconds;
@property (nonatomic, strong) CALayer *orangeLayer;
@@ -60,12 +61,16 @@
@property (nonatomic, weak) IBOutlet UIButton *captureButton;
@property (nonatomic, weak) IBOutlet UIButton *localRecordButton;
@property (nonatomic, weak) IBOutlet UIButton *playButton;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *playBtnLeftMargin;
@property (weak, nonatomic) IBOutlet UIButton *streamPlayBtn;
@property (nonatomic, weak) IBOutlet UIButton *voiceButton;
@property (nonatomic, weak) IBOutlet UIButton *qualityButton;
@property (nonatomic, weak) IBOutlet UIButton *emptyButton;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *emptyBtnLeftMargin;
@property (nonatomic, weak) IBOutlet UIButton *largeButton;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *largeBtnRightMargin;
@property (nonatomic, weak) IBOutlet UIButton *largeBackButton;
@property (weak, nonatomic) IBOutlet NSLayoutConstraint *largeBackBtnLeftMargin;
@property (nonatomic, weak) IBOutlet UIView *ptzView;
@property (nonatomic, weak) IBOutlet UIButton *ptzCloseButton;
@property (nonatomic, weak) IBOutlet UIButton *ptzControlButton;
@@ -132,6 +137,7 @@
    self.isStartingTalk = NO;
    self.ptzView.hidden = YES;
    self.talkView.hidden = YES;
    self.isAnswering = NO;
    self.videoCallOutView.hidden = YES;
    self.doorPlayerAspectRatio = HDLEZ_APP_SCREEN_WIDTH / HDLEZ_APP_SCREEN_HEIGHT;
    _landscape = NO;
@@ -290,15 +296,16 @@
    //结束本地录像
    if(self.localRecordButton.selected)
    {
        __weak __typeof(self)weakSelf = self;
        [_player stopLocalRecordExt:^(BOOL ret) {
            
            NSLog(@"%d", ret);
            
            [_recordTimer invalidate];
            _recordTimer = nil;
            self.localRecordLabel.hidden = YES;
            [self saveRecordToPhotosAlbum:_filePath];
            _filePath = nil;
            [weakSelf.recordTimer invalidate];
            weakSelf.recordTimer = nil;
            weakSelf.localRecordLabel.hidden = YES;
            [weakSelf saveRecordToPhotosAlbum:weakSelf.filePath];
            weakSelf.filePath = nil;
        }];
    }
    
@@ -351,8 +358,7 @@
    self.captureButton.enabled = NO;
    self.localRecordButton.enabled = NO;
    self.streamPlayBtn.hidden = YES;
    self.isShowAlert = YES;
    NSLog(@"#####初始化方法展示");
//    self.isShowAlert = YES;
    
    if (_url)
    {
@@ -383,9 +389,9 @@
            [self.qualityButton setTitle:NSLocalizedString(@"device_quality_low",@"流畅") forState:UIControlStateNormal];
        }
    }
#warning 不支持切换清晰度,全屏时也需要主持
    if (_cameraInfo.cameraNo == 0 || [self.deviceInfo.deviceType containsString:@"CAS"]) { //不支持清晰度切换
        self.qualityButton.hidden = YES;
        [self.fullSceneToolView supportVideoLevelChange:NO];
    }
    if (self.deviceInfo.cameraInfo.count > 1) {
@@ -401,8 +407,9 @@
    if (!_url)
    {
        //抓图接口演示代码
        __weak __typeof(self)weakSelf = self;
        [EZOPENSDK captureCamera:_cameraInfo.deviceSerial cameraNo:_cameraInfo.cameraNo completion:^(NSString *url, NSError *error) {
            NSLog(@"[%@] capture cameraNo is [%d] url is %@, error is %@", _cameraInfo.deviceSerial, (int)_cameraInfo.cameraNo, url, error);
            NSLog(@"[%@] capture cameraNo is [%d] url is %@, error is %@", weakSelf.cameraInfo.deviceSerial, (int)weakSelf.cameraInfo.cameraNo, url, error);
        }];
    }
#endif
@@ -499,8 +506,9 @@
    
    // 门锁全屏状态下工具栏
    [self.view addSubview:self.fullSceneToolView];
    __weak EZLivePlayViewController *weakSelf = self;
    [self.fullSceneToolView configPlayStatus:YES soundOn:YES videoLevel:1 toolOperation:^(HDLEZVideoFullSceneOperation operationType) {
    __weak __typeof(self)weakSelf = self;
    [self.fullSceneToolView ringRingRing:YES];  // 默认显示挂断按钮
    [self.fullSceneToolView configPlayStatus:YES soundOn:YES videoLevel:_cameraInfo.videoLevel toolOperation:^(HDLEZVideoFullSceneOperation operationType) {
        [weakSelf doorLockFullSceneOperation:operationType];
    }];
}
@@ -600,12 +608,22 @@
    
    [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO];
    [self.toolBar setTranslatesAutoresizingMaskIntoConstraints:NO];
    [NSLayoutConstraint deactivateConstraints:@[self.scrollViewWHRatio]];
    [self.playButton setTranslatesAutoresizingMaskIntoConstraints:NO];
    [self.emptyButton setTranslatesAutoresizingMaskIntoConstraints:NO];
    [self.largeButton setTranslatesAutoresizingMaskIntoConstraints:NO];
//    [self.largeBackButton setTranslatesAutoresizingMaskIntoConstraints:NO];
    [NSLayoutConstraint deactivateConstraints:@[self.scrollViewWHRatio, self.playBtnLeftMargin, self.emptyBtnLeftMargin, self.largeBtnRightMargin]];
    self.scrollViewWHRatio = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeHeight multiplier:16/9. constant:0];
    [NSLayoutConstraint activateConstraints:@[self.scrollViewWHRatio]];
    self.playBtnLeftMargin = [NSLayoutConstraint constraintWithItem:self.playButton attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.toolBar attribute:NSLayoutAttributeLeading multiplier:1 constant:0];
    self.emptyBtnLeftMargin = [NSLayoutConstraint constraintWithItem:self.emptyButton attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.qualityButton attribute:NSLayoutAttributeTrailing multiplier:1 constant:0];
    self.largeBtnRightMargin = [NSLayoutConstraint constraintWithItem:self.toolBar attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:self.largeButton attribute:NSLayoutAttributeTrailing multiplier:1 constant:0];
    [NSLayoutConstraint activateConstraints:@[self.scrollViewWHRatio, self.playBtnLeftMargin, self.emptyBtnLeftMargin, self.largeBtnRightMargin]];
    dispatch_async(dispatch_get_main_queue(), ^{
        [self.scrollView layoutIfNeeded];
        [self.toolBar layoutIfNeeded];
        [self.playButton layoutIfNeeded];
        [self.emptyButton layoutIfNeeded];
        [self.largeButton layoutIfNeeded];
    });
    
    if(toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
@@ -620,16 +638,25 @@
        
        CGFloat tureScreenW = HDLEZ_APP_SCREEN_WIDTH > HDLEZ_APP_SCREEN_HEIGHT ? HDLEZ_APP_SCREEN_HEIGHT : HDLEZ_APP_SCREEN_WIDTH;
        CGFloat tureScreenH = HDLEZ_APP_SCREEN_WIDTH < HDLEZ_APP_SCREEN_HEIGHT ? HDLEZ_APP_SCREEN_HEIGHT : HDLEZ_APP_SCREEN_WIDTH;
        CGFloat marginSpace = 64;
        
        [self.scrollView setTranslatesAutoresizingMaskIntoConstraints:NO];
        [self.toolBar setTranslatesAutoresizingMaskIntoConstraints:NO];
        [NSLayoutConstraint deactivateConstraints:@[self.scrollViewWHRatio]];
        [self.playButton setTranslatesAutoresizingMaskIntoConstraints:NO];
        [self.emptyButton setTranslatesAutoresizingMaskIntoConstraints:NO];
        [self.largeButton setTranslatesAutoresizingMaskIntoConstraints:NO];
        [NSLayoutConstraint deactivateConstraints:@[self.scrollViewWHRatio, self.playBtnLeftMargin, self.emptyBtnLeftMargin, self.largeBtnRightMargin]];
        self.scrollViewWHRatio = [NSLayoutConstraint constraintWithItem:self.scrollView attribute:NSLayoutAttributeWidth relatedBy:NSLayoutRelationEqual toItem:self.scrollView attribute:NSLayoutAttributeHeight multiplier:tureScreenH/(tureScreenW - 37) constant:0];
        [NSLayoutConstraint activateConstraints:@[self.scrollViewWHRatio]];
        self.playBtnLeftMargin = [NSLayoutConstraint constraintWithItem:self.playButton attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.toolBar attribute:NSLayoutAttributeLeading multiplier:1 constant:marginSpace];
        self.emptyBtnLeftMargin = [NSLayoutConstraint constraintWithItem:self.emptyButton attribute:NSLayoutAttributeLeading relatedBy:NSLayoutRelationEqual toItem:self.qualityButton attribute:NSLayoutAttributeTrailing multiplier:1 constant:(tureScreenH - tureScreenW - 2 * marginSpace)];
        self.largeBtnRightMargin = [NSLayoutConstraint constraintWithItem:self.toolBar attribute:NSLayoutAttributeTrailing relatedBy:NSLayoutRelationEqual toItem:self.largeButton attribute:NSLayoutAttributeTrailing multiplier:1 constant:marginSpace];
        [NSLayoutConstraint activateConstraints:@[self.scrollViewWHRatio, self.playBtnLeftMargin, self.emptyBtnLeftMargin, self.largeBtnRightMargin]];
        dispatch_async(dispatch_get_main_queue(), ^{
            [self.scrollView layoutIfNeeded];
            [self.toolBar layoutIfNeeded];
            [self.playButton layoutIfNeeded];
            [self.emptyButton layoutIfNeeded];
            [self.largeButton layoutIfNeeded];
        });
    }
}
@@ -699,7 +726,7 @@
//    HDLEZLog(@"高:%ld",(long)playerVH);
    CGFloat ratio=((CGFloat)width)/((CGFloat)height);
    NSLog(@"比例:%f",ratio);
    CGFloat playerVW=playerVH*ratio;
//    CGFloat playerVW=playerVH*ratio;
    self.doorPlayerAspectRatio = ratio;
//    HDLEZLog(@"宽:%ld",(long)playerVW);
    [self.doorPlayerView mas_updateConstraints:^(MASConstraintMaker *make) {
@@ -900,6 +927,7 @@
- (IBAction)large:(id)sender
{
    if (!self.isPlaying)return; // 未播放禁止全屏,
    self.videoCallOutView.hidden = YES;
    if (_landscape == YES) {
        [self largeBack:self.largeBackButton];
@@ -1301,6 +1329,7 @@
                         self.speakImageView.alpha = 0;
                         self.talkView.hidden = YES;
                     }];
    self.isAnswering = NO;
}
- (IBAction)localButtonClicked:(id)sender
@@ -1308,15 +1337,16 @@
    //结束本地录像
    if(self.localRecordButton.selected)
    {
        __weak __typeof(self)weakSelf = self;
        [_player stopLocalRecordExt:^(BOOL ret) {
            
            NSLog(@"%d", ret);
            
            [_recordTimer invalidate];
            _recordTimer = nil;
            self.localRecordLabel.hidden = YES;
            [self saveRecordToPhotosAlbum:_filePath];
            _filePath = nil;
            [weakSelf.recordTimer invalidate];
            weakSelf.recordTimer = nil;
            weakSelf.localRecordLabel.hidden = YES;
            [weakSelf saveRecordToPhotosAlbum:weakSelf.filePath];
            weakSelf.filePath = nil;
        }];
    }
    else
@@ -1396,18 +1426,19 @@
}
- (IBAction)clickCalloutHangupAction:(id)sender {
    [UIView dd_showMessage:@"挂断开发中..."];
    self.isShowAlert = NO;
    [self closeTalkView:self.talkCloseButton];
}
- (IBAction)clickCalloutIgnoreAction:(id)sender {
    [UIView dd_showMessage:@"忽略开发中..."];
//    [UIView dd_showMessage:@"忽略开发中..."];
    self.isShowAlert = NO;
    self.isAnswering = NO;
}
- (IBAction)clickCalloutAnswerAction:(id)sender {
    [UIView dd_showMessage:@"接听开发中..."];
    self.isShowAlert = NO;
    self.isAnswering = YES;
    [self talkButtonClicked:self.talkButton];
}
@@ -1416,15 +1447,11 @@
/// 展示呼叫弹框
- (void)showCallOutAlertView {
    self.videoCallOutView.hidden = NO;
    [UIView dd_showMessage:@"展示呼叫弹框"];
    NSLog(@"展示呼叫弹框");
}
/// 隐藏呼叫弹框
- (void)hiddenCallOutAlertView {
    self.videoCallOutView.hidden = YES;
    [UIView dd_showMessage:@"隐藏呼叫弹框"];
    NSLog(@"隐藏呼叫弹框");
}
#pragma mark - Private Methods
@@ -1545,7 +1572,7 @@
            [view removeFromSuperview];
        }
    }
    CGFloat averageWidth = [UIScreen mainScreen].bounds.size.width/5.0;
//    CGFloat averageWidth = [UIScreen mainScreen].bounds.size.width/5.0;
    UIImageView *lineImageView1 = [UIView dd_instanceVerticalLine:20 color:[UIColor grayColor]];
//    lineImageView1.frame = CGRectMake(averageWidth, 7, lineImageView1.frame.size.width, lineImageView1.frame.size.height);
    [self.toolBar addSubview:lineImageView1];
@@ -1686,7 +1713,10 @@
- (void)doorLockFullSceneOperation:(HDLEZVideoFullSceneOperation)operation {
    switch (operation) {
        case HDLEZVideoFullSceneOperationOfHangUp: {    // 挂断
            [self largeBack:self.largeButton];
            [self closeTalkView:self.talkCloseButton];
            [self hiddenCallOutAlertView];
            [self.navigationController popViewControllerAnimated:YES];
        }
            break;
        case HDLEZVideoFullSceneOperationOfPlay: {  // 播放
@@ -1732,10 +1762,8 @@
- (void)setIsShowAlert:(BOOL)isShowAlert {
    _isShowAlert = isShowAlert;
    if (isShowAlert) {
        NSLog(@"#####set方法展示");
        [self showCallOutAlertView];
    } else {
        NSLog(@"#####set方法隐藏");
        [self hiddenCallOutAlertView];
    }
}
EZSDK/EZSDK/EZ/UIViewControllers/EZSettingViewController.m
@@ -33,6 +33,7 @@
@property (nonatomic, weak) IBOutlet UILabel *currentVersionLabel;
@property (nonatomic, weak) IBOutlet UILabel *nVersionLabel;
@property (nonatomic, weak) IBOutlet UIImageView *updateImageView;
@property (nonatomic, strong) UIButton *deleteButton;
@property (nonatomic, strong) EZDeviceVersion *deviceVersion;
@property (nonatomic, strong) NSTimer *timer;
@@ -87,21 +88,22 @@
    self.serialLabel.text = self.deviceInfo.deviceSerial;
    
    self.updateImageView.hidden = YES;
    __weak __typeof(self)weakSelf = self;
    [EZOPENSDK getDeviceVersion:self.deviceInfo.deviceSerial
                     completion:^(EZDeviceVersion *version, NSError *error) {
                         _deviceVersion = version;
                         self.currentVersionLabel.text = version.currentVersion;
                         if(version.isNeedUpgrade)
                         {
                             self.nVersionLabel.text = version.latestVersion;
                             self.updateImageView.hidden = NO;
                         }
                         else
                         {
                             self.updateImageView.hidden = YES;
                             self.nVersionLabel.text = version.currentVersion;
                         }
                     }];
        weakSelf.deviceVersion = version;
        weakSelf.currentVersionLabel.text = version.currentVersion;
        if(version.isNeedUpgrade) {
            weakSelf.nVersionLabel.text = version.latestVersion;
            weakSelf.updateImageView.hidden = NO;
        } else {
            weakSelf.updateImageView.hidden = YES;
            weakSelf.nVersionLabel.text = version.currentVersion;
        }
    }];
    [self.privacyMaskSwitch setOn:NO];
    [self getPrivacyMaskSwitchStatus];
    self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
//    [[EzvizDeviceManager sharedManager] startP2PHolePunching:_cameraInfo.cameraId completion:^(BOOL result, NSError *error) {
//        NSLog(@"result = %d, error = %@", result, error);
//    }];
@@ -164,6 +166,15 @@
    // Dispose of any resources that can be recreated.
}
- (void)getPrivacyMaskSwitchStatus {    // 获取镜头遮蔽开关状态
    __weak __typeof(self)weakSelf = self;
    [EZHttpUtil.sharedManager getCoverSwitchStatus:self.deviceInfo.deviceSerial completion:^(ResponseData * _Nonnull responseData) {
        if(responseData.success) {
            NSLog(@"#############打印数据:%@", responseData);
        }
    }];
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
@@ -178,16 +189,22 @@
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"EZSettingCell" forIndexPath:indexPath];
    
    // Configure the cell...
    cell.backgroundColor = [UIColor whiteColor];
    cell.contentView.backgroundColor = [UIColor whiteColor];
    cell.textLabel.text = [[_settingList dd_objectAtIndex:indexPath.section] dd_objectAtIndex:indexPath.row];
    cell.textLabel.textColor = HDLEZHEXCOLOR(0x1B2D4D, 1.0);
    cell.textLabel.textAlignment = NSTextAlignmentLeft;
    cell.accessoryType = UITableViewCellAccessoryNone;
    if (indexPath.section == 0)
    {
        [cell.contentView addSubview:self.nameLabel];
        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
//        cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
        UIImageView *accessoryImgView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"hdl_ez_list_next"]];
        accessoryImgView.frame = CGRectMake(0, 0, 16, 16);
        cell.accessoryView = accessoryImgView;
        [self.nameLabel mas_remakeConstraints:^(MASConstraintMaker *make) {
            make.leading.mas_equalTo(@140);
            make.trailing.mas_equalTo(cell.contentView.mas_trailing);
            make.trailing.mas_equalTo(cell.contentView.mas_trailing).offset(-10);
            make.centerY.mas_equalTo(cell.contentView.mas_centerY);
            make.height.mas_equalTo(@20);
        }];
@@ -233,14 +250,23 @@
        [self.rightArrowImg mas_remakeConstraints:^(MASConstraintMaker *make) {
            make.trailing.mas_equalTo(@(-17));
            make.centerY.mas_equalTo(cell.contentView.mas_centerY);
            make.width.mas_equalTo(@20);
            make.height.mas_equalTo(@20);
            make.width.mas_equalTo(@16);
            make.height.mas_equalTo(@16);
        }];
    }
    else if (indexPath.section == 8)
    {
        cell.textLabel.textColor = [UIColor redColor];
        cell.textLabel.textAlignment = NSTextAlignmentCenter;
        cell.backgroundColor = [UIColor clearColor];
        cell.contentView.backgroundColor = [UIColor clearColor];
        cell.textLabel.text = @"";
        [cell.contentView addSubview:self.deleteButton];
        [self.deleteButton addTarget:self action:@selector(deleteAction) forControlEvents:UIControlEventTouchUpInside];
        [self.deleteButton mas_remakeConstraints:^(MASConstraintMaker *make) {
            make.centerX.mas_equalTo(cell.contentView.mas_centerX);
            make.left.mas_equalTo(cell.contentView.mas_left).offset(77.);
            make.bottom.mas_equalTo(cell.contentView.mas_bottom);
            make.height.mas_equalTo(@44);
        }];
    }
    else if (indexPath.section == 3)
    {
@@ -294,9 +320,24 @@
    return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
{
    return 5.0f;
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
    return (indexPath.section == 8) ? 92 : 50.;
}
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section {
    return 0.0001f;
}
- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
    return (section == 0 || section == 2 || section == 6) ? 8.0f : 0.001f;
}
- (nullable UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
    return nil;
}
- (nullable UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section {
    return nil;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
@@ -307,21 +348,21 @@
//        UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:NSLocalizedString(@"cancel", @"取消") destructiveButtonTitle:NSLocalizedString(@"delete",@"删除") otherButtonTitles:nil];
//        [actionSheet showInView:self.view];
        
        __weak __typeof(self)weakSelf = self;
        UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
        [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"cancel", @"取消") style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
            [weakSelf dismissViewControllerAnimated:YES completion:^{
            }];
        }]];
        [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"delete",@"删除") style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
            [weakSelf deleteCurrentDevice];
            [weakSelf dismissViewControllerAnimated:YES completion:^{
            }];
        }]];
        [self presentViewController:actionSheet animated:YES completion:nil];
//        __weak __typeof(self)weakSelf = self;
//        UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
//
//        [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"cancel", @"取消") style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
//            [weakSelf dismissViewControllerAnimated:YES completion:^{
//            }];
//        }]];
//
//        [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"delete",@"删除") style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
//            [weakSelf deleteCurrentDevice];
//            [weakSelf dismissViewControllerAnimated:YES completion:^{
//            }];
//        }]];
//
//        [self presentViewController:actionSheet animated:YES completion:nil];
        
    }
//    else if (indexPath.section == 5)
@@ -580,4 +621,36 @@
    }
}
- (void)deleteAction {
    __weak __typeof(self)weakSelf = self;
    UIAlertController *actionSheet = [UIAlertController alertControllerWithTitle:nil message:nil preferredStyle:UIAlertControllerStyleActionSheet];
    [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"cancel", @"取消") style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) {
        [weakSelf dismissViewControllerAnimated:YES completion:^{
        }];
    }]];
    [actionSheet addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"delete",@"删除") style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) {
        [weakSelf deleteCurrentDevice];
        [weakSelf dismissViewControllerAnimated:YES completion:^{
        }];
    }]];
    [self presentViewController:actionSheet animated:YES completion:nil];
}
#pragma mark - Getter
- (UIButton *)deleteButton {
    if (!_deleteButton) {
        _deleteButton = [UIButton buttonWithType:UIButtonTypeCustom];
        _deleteButton.backgroundColor = [UIColor whiteColor];
        [_deleteButton setTitle:NSLocalizedString(@"delete", @"删除") forState:UIControlStateNormal];
        [_deleteButton setTitleColor:HDLEZHEXCOLOR(0xFF4747, 1.0) forState:UIControlStateNormal];
        _deleteButton.titleLabel.font = HDLEZ_Get_FontRegularWithSize(HDLEZ_FontSize_16);
        _deleteButton.layer.cornerRadius = 22.;
        _deleteButton.clipsToBounds = YES;
    }
    return _deleteButton;
}
@end
EZSDK/EZSDK/EZSDK.h
@@ -75,6 +75,13 @@
 */
- (void)Play:(EZDeviceInfo*)deviceInfo;
/**
 查看视频监控直播
 @param deviceInfo 设备信息
 @param isShow 是否展示呼叫弹框
 */
- (void)Play:(EZDeviceInfo*)deviceInfo showCallout:(BOOL)isShow;
/// 指定序列号 查看视频监控直播
/// @param deviceSerial 序列号
- (void)PlayWithDeviceSerial:(NSString *)deviceSerial;
EZSDK/EZSDK/EZSDK.m
@@ -202,8 +202,18 @@
//            rootViewController.cameraIndex=0;
    [[self getCurrentVC].navigationBar setHidden:NO];
    [[self getCurrentVC] pushViewController:rootViewController animated:YES];
}
- (void)Play:(EZDeviceInfo*)deviceInfo showCallout:(BOOL)isShow {
    [GlobalKit shareKit].deviceType=HDLEZDeviceType_Default;
    UIStoryboard *addDeviceStoryBoard = [UIStoryboard storyboardWithName:@"EZMain" bundle:nil];
    EZLivePlayViewController *rootViewController = [addDeviceStoryBoard instantiateViewControllerWithIdentifier:@"EZLivePlayViewController"];
    rootViewController.isShowAlert = isShow;
    rootViewController.deviceInfo=(EZDeviceInfo *)deviceInfo;
    NSLog(@"play--iphone--deviceName -%@",rootViewController.deviceInfo.deviceName);
    [[self getCurrentVC].navigationBar setHidden:NO];
    [[self getCurrentVC] pushViewController:rootViewController animated:YES];
}
/// 指定序列号播放