Skip to content

Commit 193c9e9

Browse files
committed
【iOS,macOS】restructure part 4 Sync Audio And Video.
1 parent 33364a7 commit 193c9e9

File tree

15 files changed

+495
-362
lines changed

15 files changed

+495
-362
lines changed

Example/Common/4.Movie Player/0x36/MR0x36ViewController.h

Lines changed: 0 additions & 31 deletions
This file was deleted.

Example/Common/4.Movie Player/AudioEmbed/MRAudioEmbedViewController-iOS.xib

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
33
<device id="retina6_1" orientation="landscape" appearance="light"/>
44
<dependencies>
5-
<deployment identifier="iOS"/>
65
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
76
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
87
<capability name="System colors in document resources" minToolsVersion="11.0"/>
98
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
109
</dependencies>
1110
<objects>
12-
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MRVideoEmbedViewController">
11+
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MRAudioEmbedViewController">
1312
<connections>
1413
<outlet property="audioFmtSegCtrl" destination="jGI-4a-7Ui" id="TJp-n0-QGp"/>
1514
<outlet property="audioSampleSegCtrl" destination="yUv-Ko-4g7" id="N3j-0a-kzU"/>

Example/Common/4.Movie Player/PlayProgress/MRPlayProgressViewController-iOS.xib

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,13 @@
22
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
33
<device id="retina6_1" orientation="landscape" appearance="light"/>
44
<dependencies>
5-
<deployment identifier="iOS"/>
65
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
76
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
87
<capability name="System colors in document resources" minToolsVersion="11.0"/>
98
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
109
</dependencies>
1110
<objects>
12-
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MRVideoEmbedViewController">
11+
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MRPlayProgressViewController">
1312
<connections>
1413
<outlet property="audioFmtSegCtrl" destination="jGI-4a-7Ui" id="TJp-n0-QGp"/>
1514
<outlet property="audioSampleSegCtrl" destination="yUv-Ko-4g7" id="N3j-0a-kzU"/>
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3+
<device id="retina6_1" orientation="landscape" appearance="light"/>
4+
<dependencies>
5+
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22504"/>
6+
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
7+
<capability name="System colors in document resources" minToolsVersion="11.0"/>
8+
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
9+
</dependencies>
10+
<objects>
11+
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MRSyncAVViewController">
12+
<connections>
13+
<outlet property="audioFmtSegCtrl" destination="jGI-4a-7Ui" id="TJp-n0-QGp"/>
14+
<outlet property="audioSampleSegCtrl" destination="yUv-Ko-4g7" id="N3j-0a-kzU"/>
15+
<outlet property="indicatorView" destination="c3R-Bl-JJX" id="yKj-QY-vs2"/>
16+
<outlet property="inputField" destination="adM-9N-T8H" id="D4J-Im-qjS"/>
17+
<outlet property="scalingSegCtrl" destination="4wY-d2-CZN" id="l91-Kg-h6z"/>
18+
<outlet property="videoFmtSegCtrl" destination="bf0-wm-lum" id="XEf-Vo-gJH"/>
19+
<outlet property="videoRendererContainer" destination="5SN-5f-aGY" id="vtN-VX-dhV"/>
20+
</connections>
21+
</placeholder>
22+
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
23+
<view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT">
24+
<rect key="frame" x="0.0" y="0.0" width="896" height="414"/>
25+
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
26+
<subviews>
27+
<stackView opaque="NO" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" distribution="fillProportionally" alignment="center" translatesAutoresizingMaskIntoConstraints="NO" id="eBw-Qp-cGp">
28+
<rect key="frame" x="53" y="0.0" width="795" height="35"/>
29+
<subviews>
30+
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="1000" verticalHuggingPriority="251" horizontalCompressionResistancePriority="1000" text=" 视频地址:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="HxB-hT-CpN">
31+
<rect key="frame" x="0.0" y="7.5" width="87" height="20.5"/>
32+
<fontDescription key="fontDescription" type="system" pointSize="17"/>
33+
<nil key="textColor"/>
34+
<nil key="highlightedColor"/>
35+
</label>
36+
<textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" borderStyle="roundedRect" placeholder="请输入视频地址" textAlignment="natural" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="adM-9N-T8H">
37+
<rect key="frame" x="87" y="0.5" width="371.5" height="34"/>
38+
<fontDescription key="fontDescription" type="system" pointSize="14"/>
39+
<textInputTraits key="textInputTraits"/>
40+
</textField>
41+
<button opaque="NO" contentMode="scaleToFill" horizontalCompressionResistancePriority="1000" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="jcr-Pk-Dnu">
42+
<rect key="frame" x="458.5" y="0.5" width="336.5" height="34.5"/>
43+
<state key="normal" title="Button"/>
44+
<buttonConfiguration key="configuration" style="plain" title="查看">
45+
<color key="baseForegroundColor" systemColor="labelColor"/>
46+
</buttonConfiguration>
47+
<connections>
48+
<action selector="go:" destination="-1" eventType="touchUpInside" id="v7e-9d-NBj"/>
49+
</connections>
50+
</button>
51+
</subviews>
52+
<constraints>
53+
<constraint firstAttribute="height" constant="35" id="X7M-h3-1ft"/>
54+
</constraints>
55+
</stackView>
56+
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5SN-5f-aGY">
57+
<rect key="frame" x="48" y="35" width="800" height="358"/>
58+
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
59+
</view>
60+
<stackView opaque="NO" contentMode="scaleToFill" axis="vertical" distribution="fillProportionally" alignment="top" translatesAutoresizingMaskIntoConstraints="NO" id="FIC-Ab-vpl">
61+
<rect key="frame" x="53" y="40" width="552" height="124"/>
62+
<subviews>
63+
<segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="bf0-wm-lum" customClass="MRSegmentedControl">
64+
<rect key="frame" x="0.0" y="0.0" width="552" height="32"/>
65+
<segments>
66+
<segment title="BGRA"/>
67+
<segment title="BGR0"/>
68+
<segment title="RGBA"/>
69+
<segment title="RGBA0"/>
70+
<segment title="NV12"/>
71+
<segment title="NV21"/>
72+
<segment title="YUV420P"/>
73+
</segments>
74+
<connections>
75+
<action selector="onSelectVideoFormat:" destination="-1" eventType="valueChanged" id="1bc-sX-Upu"/>
76+
</connections>
77+
</segmentedControl>
78+
<segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="2" translatesAutoresizingMaskIntoConstraints="NO" id="4wY-d2-CZN" customClass="MRSegmentedControl">
79+
<rect key="frame" x="0.0" y="31" width="365" height="32"/>
80+
<segments>
81+
<segment title="Scale To Fill"/>
82+
<segment title="Scale Aspect Fill"/>
83+
<segment title="Scale Aspect Fit"/>
84+
</segments>
85+
<connections>
86+
<action selector="onSelectedVideMode:" destination="-1" eventType="valueChanged" id="LXc-4u-kLu"/>
87+
</connections>
88+
</segmentedControl>
89+
<segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" translatesAutoresizingMaskIntoConstraints="NO" id="jGI-4a-7Ui" customClass="MRSegmentedControl">
90+
<rect key="frame" x="0.0" y="62" width="101" height="32"/>
91+
<segments>
92+
<segment title="S16"/>
93+
<segment title="S16P"/>
94+
</segments>
95+
<connections>
96+
<action selector="onSelectAudioFmt:" destination="-1" eventType="valueChanged" id="0TD-JO-GiO"/>
97+
</connections>
98+
</segmentedControl>
99+
<segmentedControl opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="top" segmentControlStyle="plain" selectedSegmentIndex="0" translatesAutoresizingMaskIntoConstraints="NO" id="yUv-Ko-4g7" customClass="MRSegmentedControl">
100+
<rect key="frame" x="0.0" y="93" width="123" height="32"/>
101+
<segments>
102+
<segment title="44100"/>
103+
<segment title="48000"/>
104+
</segments>
105+
<connections>
106+
<action selector="onSelectSampleRate:" destination="-1" eventType="valueChanged" id="vp0-hC-dAp"/>
107+
</connections>
108+
</segmentedControl>
109+
</subviews>
110+
</stackView>
111+
<activityIndicatorView hidden="YES" opaque="NO" contentMode="scaleToFill" horizontalHuggingPriority="750" verticalHuggingPriority="750" hidesWhenStopped="YES" style="large" translatesAutoresizingMaskIntoConstraints="NO" id="c3R-Bl-JJX">
112+
<rect key="frame" x="429.5" y="188.5" width="37" height="37"/>
113+
</activityIndicatorView>
114+
</subviews>
115+
<viewLayoutGuide key="safeArea" id="Q5M-cg-NOt"/>
116+
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
117+
<constraints>
118+
<constraint firstItem="Q5M-cg-NOt" firstAttribute="trailing" secondItem="eBw-Qp-cGp" secondAttribute="trailing" id="1HZ-FW-4Jo"/>
119+
<constraint firstItem="Q5M-cg-NOt" firstAttribute="trailing" secondItem="5SN-5f-aGY" secondAttribute="trailing" id="4LU-HR-Cgo"/>
120+
<constraint firstItem="c3R-Bl-JJX" firstAttribute="centerY" secondItem="i5M-Pr-FkT" secondAttribute="centerY" id="5jc-5T-TEF"/>
121+
<constraint firstItem="eBw-Qp-cGp" firstAttribute="leading" secondItem="Q5M-cg-NOt" secondAttribute="leading" constant="5" id="AkW-KK-t72"/>
122+
<constraint firstItem="eBw-Qp-cGp" firstAttribute="top" secondItem="Q5M-cg-NOt" secondAttribute="top" id="AmG-lN-znM"/>
123+
<constraint firstItem="5SN-5f-aGY" firstAttribute="leading" secondItem="Q5M-cg-NOt" secondAttribute="leading" id="QGO-76-ftk"/>
124+
<constraint firstItem="FIC-Ab-vpl" firstAttribute="top" secondItem="eBw-Qp-cGp" secondAttribute="bottom" constant="5" id="iTj-Dv-G9H"/>
125+
<constraint firstItem="5SN-5f-aGY" firstAttribute="top" secondItem="eBw-Qp-cGp" secondAttribute="bottom" id="ki7-F4-cPf"/>
126+
<constraint firstItem="c3R-Bl-JJX" firstAttribute="centerX" secondItem="i5M-Pr-FkT" secondAttribute="centerX" id="t8U-WM-7LF"/>
127+
<constraint firstItem="FIC-Ab-vpl" firstAttribute="leading" secondItem="Q5M-cg-NOt" secondAttribute="leading" constant="5" id="vA7-b0-3Fw"/>
128+
<constraint firstItem="Q5M-cg-NOt" firstAttribute="bottom" secondItem="5SN-5f-aGY" secondAttribute="bottom" id="zqG-Aq-EvD"/>
129+
</constraints>
130+
<point key="canvasLocation" x="132" y="48"/>
131+
</view>
132+
</objects>
133+
<resources>
134+
<systemColor name="labelColor">
135+
<color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
136+
</systemColor>
137+
<systemColor name="systemBackgroundColor">
138+
<color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
139+
</systemColor>
140+
</resources>
141+
</document>
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
//
2+
// MRSyncAVViewController.h
3+
// FFmpegTutorial-macOS
4+
//
5+
// Created by qianlongxu on 2023/12/21.
6+
// Copyright © 2023 Matt Reach's Awesome FFmpeg Tutotial. All rights reserved.
7+
//
8+
// 音视频同步
9+
10+
#import "MRCrossPlatformUtil.h"
11+
12+
NS_ASSUME_NONNULL_BEGIN
13+
14+
@interface MRSyncAVViewController : MRBaseViewController
15+
16+
@end
17+
18+
NS_ASSUME_NONNULL_END

0 commit comments

Comments
 (0)