V7.10.0
機能の更新
いくつかの既知の問題を修正しました。
V7.9.1
機能の更新
いくつかの既知の問題を修正しました。
V7.8.0
機能の更新
いくつかの既知の問題を修正しました。
V7.7.0
機能の更新
いくつかの既知の問題を修正しました。
V7.6.0
機能の更新
いくつかの既知の問題を修正しました。
V7.5.0
機能の更新
いくつかの既知の問題を修正しました。
V7.4.0
機能の更新
いくつかの既知の問題を修正しました。
V7.3.0
機能の更新
いくつかの既知の問題を修正しました。
V7.2.0
機能の更新
いくつかの既知の問題を修正しました。
V7.1.0
機能の更新
いくつかの既知の問題を修正しました。
V7.0.0
機能の更新
統合パッケージが統一され、Basic 版、Standard 版、Professional 版に分かれなくなりました。ライセンスを使用してさまざまな機能を有効にできます。
いくつかの既知の問題を修正しました。
V6.15.0
機能の更新
SDK が iOS 18 と互換性を持つようになりました。
いくつかの既知の問題を修正しました。
V6.7.0
機能の更新
いくつかの既知の問題を修正しました。
V6.0.0
機能の更新
バージョン番号が ApsaraVideo MediaBox SDK のバージョン番号と一致するように変更されました。
特定の既知の問題を修正しました。
V3.36.0
機能の更新
いくつかの既知の問題を修正しました。
V3.35.0
機能の更新
いくつかの既知の問題を修正しました。
V3.34.1
機能の更新
いくつかの既知の問題を修正しました。
V3.34.0
機能の更新
エディターから動画をエクスポートする際に、音声サンプリングレートとチャンネル数を設定するオプションが追加されました。
いくつかの既知の問題を修正しました。
V3.33.0
機能の更新
エディターのカスタムレンダリング機能が最適化されました。
いくつかの既知の問題を修正しました。
V3.32.0
機能の更新
Bitcode のサポートが追加されました。
デュエット録音でのリアルタイム合成のサポートが追加されました。
生成中の動画アップロードのサポートが追加されました。
いくつかの既知の問題を修正しました。
V3.31.0
機能の更新
字幕の背景に角丸機能が追加されました。
編集モードに画像機能が追加されました。
ライセンス検証ロジックが最適化されました。
統合時のトラブルシューティングをより正確に行うため、ログの永続化機能が最適化されました。
いくつかの既知の問題を修正しました。
V3.30.0
機能の更新
ライセンス接続タイプが最適化されました。
クロップパフォーマンスが最適化されました。
いくつかの既知の問題を修正しました。
V3.29.0
機能の更新
クロップ機能が最適化されました。
ライセンスサービスが更新されました。ライセンス情報を表示できます。
特定の既知の問題を修正しました。
V3.28.0
機能の更新
いくつかの既知の問題を修正しました。
V3.27.0
機能の更新
マルチソース録音にエコーキャンセル、ノイズ除去、BGM、オーディオミキシングのサポートが追加されました。
LUT フィルター効果が追加されました。
いくつかの既知の問題を修正しました。
V3.26.0
機能の更新
SDK の安定性が向上しました。
一部のオーディオフォーマットがサポートされていない問題が修正されました。
V3.25.1
機能の更新
字幕のメモリ使用量が最適化されました。
iPhone のネイティブエディターで編集された HDR 動画をクロップする際に発生する画面の破損の問題が修正されました。
横向きモードで録画されたエクスポート済み動画の表示の問題が修正されました。
いくつかの既知の問題を修正しました。
V3.25.0
機能の更新
ピクチャーインピクチャー (PiP) 機能が追加されました。編集インターフェイスで PiP 効果を追加できます。
字幕アニメーション機能が追加されました。字幕やアニメーションテキストにアニメーションを追加できます。
下書きボックスでのカスタムサムネイルのサポートが追加されました。
いくつかの既知の問題を修正しました。
V3.24.0
機能の更新
FFmpeg ソフトコーディングを削除して SDK が最適化されました。
トリミングおよび編集中に背景色が反映されない問題が修正されました。
いくつかの既知の問題を修正しました。
V3.23.0
機能の更新
下書きのエクスポートをサポートする下書きボックス機能が追加されました。
背景色や配置など、字幕の機能が追加されました。
デュエット録音にエコーキャンセル機能が追加されました。
デモの美顔モジュールが Queen SDK に置き換えられました。
デモに6つの画面分割フィルター効果が追加されました。
録画後の一時的な動画ファイルの自動削除がサポートされました。
HDR 動画の編集とクロップがサポートされました。
V3.22.0
機能の更新
エディターにアニメーションテキスト機能が追加されました。
複数の録音ソースに対応するデュエット録音機能が追加されました。
部分的な画面キャプチャ機能が追加されました。
カスタムエフェクトの Shader クラスに組み込みの時間変数 (BUILTIN_PROGRESS) が追加されました。
SDK の安定性が向上し、一部のシナリオで関連する問題が修正されました。
API の変更
新しい API:
(AliyunStickerManager *)getStickerManager;
非推奨の API:
(AliyunPasterManager *)getPasterManager;
(id<AliyunIPasterRender>)getPasterRender;
V3.21.0
機能の更新
デュエット録音機能で、ビューレイヤーの調整と境界線効果の設定がサポートされるようになりました。
ミラーリングされた動画のインポートと編集がサポートされるようになりました。
ソフトコンパイル中のメモリ使用量が最適化されました。
SDK の安定性に関する問題が修正されました。
V3.20.0
機能の更新
編集モジュールにオーディオのフェードイン・フェードアウト効果が追加されました。
編集モジュールに複合字幕機能が追加されました。
編集モジュールに基本的な編集機能が追加されました。
特定のタイムスタンプで動画のサムネイルを取得する機能が追加されました。
エディターから動画をエクスポートする際にフレームレートの設定が適用されない問題が修正されました。
SDK の安定性に関する問題が修正されました。
V3.19.0
機能の更新
編集モジュールにオーディオノイズ除去機能が追加されました。
デュエット録音と動画スティッチング機能が追加されました。背景画像と色を設定できます。
オーディオトラックのマージをサポートするデュエット録音と動画マージ機能が追加されました。
デュエット録音にエコーキャンセル機能が追加されました。
透明なハロー画像をウォーターマークや画像として追加した際に色が変わる問題が修正されました。
静止画像を追加した際に回転角度が正しくない問題が修正されました。
API の変更
非推奨の API
AliyunCamera & AliyunIRecorder: @property(nonatomic, assign) BOOL useAudioSessionModeVideoRecording;
V3.18.1
機能の更新
一部の iOS デバイスモデルでハードコーディングされたメモリの問題が修正されました。
V3.18.0
機能の更新
デュエット録音のオーディオトラック (元のオーディオ、録音されたオーディオ、またはミュート) を選択する機能が追加されました。
V3.17.1
機能の更新
前面カメラでのズームがサポートされました。
一部のデバイスモデルで動画生成後に OpenGL が原因で発生するクラッシュの問題が修正されました。
V3.17.0
機能の更新
生き生きとした女性の声の効果が最適化され、方言の効果音が追加されました。
iPhone 12 のネイティブカメラで撮影した動画をクロップおよび編集モジュールにインポートした際に発生するグリーンバックの問題が修正されました。
V3.16.2
機能の更新
ガウスぼかしの背景に関する問題が解決されました。
V3.16.1
機能の更新
録画時間が動画の長さを超えた場合に動画生成が妨げられる問題が修正されました。
V3.16.0
機能の更新
主流のアニメーション機能が復元されました。
時折発生するクラッシュの問題が修正されました。
長尺動画で発生する可能性のある再生のカクつきの問題が修正されました。
横向き録画でのウォーターマークの向きの問題が修正されました。
V3.15.0
機能の更新
生成された動画の再生のカクつきの問題が修正されました。
マルチセグメント動画の速度調整が失敗する問題が修正されました。
カスタムエフェクト制作仕様に基づいたトランジションとフィルター効果が2セット追加されました。
API の変更
カスタムエフェクトパラメーターをリアルタイムで調整する API が追加されました。
カスタムフィルターとトランジション効果のサポートが追加されました。カスタムエフェクト制作仕様の詳細については、公式ドキュメントをご参照ください。
V3.14.0
機能の更新
クロップモジュールが最適化され、繰り返しクロップした後のカラーエイリアシングが防止されるようになりました。
録画の実装が最適化され、アプリがバックグラウンドで実行されたり、ハードウェアリソースが占有されたりするなどの異常な状況での安定性が向上しました。
いくつかの既知のメモリリークが修正され、パフォーマンスが最適化されました。
バグの修正
録画中にアプリがバックグラウンドに送られた際に時折発生するフリーズの問題が修正されました。
録画中にオーディオリソースが占有されることによって引き起こされる問題が修正されました。
エディターの背景色の設定が適用されない問題が修正されました。
iOS エディターでビューが変更された後に再生画面が部分的に拡大される問題が修正されました。
いくつかのメモリリークとその他の既知の問題が修正されました。
API の変更
AliyunVideoSDKPro.framework (動的ライブラリ) が AliyunVideoSDKPro.framework (静的ライブラリ) と AliyunVideoCore.framework (動的ライブラリ) に分割されました。この変更は、SDK を手動で統合する場合に影響します。
詳細については、「SDK の統合」をご参照ください。
V3.13.0
機能の更新
録画モジュールの安定性とパフォーマンスが完全に最適化されました。
録画モジュールが RACE ベースの美顔およびシェーピング機能をサポートするようになりました。
編集モジュールでの H.265 動画の再生のスムーズさが向上しました。
API の変更
MV API が非推奨となり、録画モジュールで MV を追加する機能が削除されました。
V3.12.0
機能の更新
ログ分析機能が追加されました。[AliyunVideoSDKInfo setDebugLogLevel:] API を使用してログ分析を有効または無効にできます。3つのレベルが利用可能です:
AlivcDebugLogClose: ログ分析機能を無効にします。 AlivcDebugLogNormal: WARNING および ERROR レベルのログを分析します。ログ分析にはこのレベルを使用することを推奨します。 AlivcDebugLogAll: すべてのログを分析します。このレベルは複雑な問題のトラブルシューティング時にのみ有効にすることを推奨します。公式リリースではこのレベルを使用しないでください。この機能は SDK ログのみを分析します。編集モジュールのパフォーマンスが向上しました。
バグの修正
録画モジュールのスレッドが終了しない問題が修正されました。
API の変更
applyRunningDisplayMode API が非推奨となり、編集モジュールでコンテンツモードを動的に切り替える機能が削除されました。
V3.11.0
機能の更新
セグメント録画の開始と停止、および録画と合成の速度が向上し、よりスムーズなセグメント録画体験が実現しました。
録画進捗コールバックの粒度と精度が最適化されました。
正確な GOP 制御が可能になり、一部のシナリオでトランスコーディング速度が向上しました。
カメラの切り替えに必要な時間が短縮されました。
バグの修正
GIF フレーム数が誤って解析される問題が修正されました。
特定の動画の逆再生開始時にカクつく問題が修正されました。
録画された動画の長さが不正確である問題が修正されました。
マルチセグメント録画の出力における音声と映像の同期の問題が修正されました。
API の変更
すべての外部エラーコードが AliyunVideoCoreError に統一されました。
新しいメソッド:NSString* AlivcErrorMessage(int code)。このメソッドはエラーの説明を取得します。
V3.10.5
機能の更新
デュエット録音機能 (AliyunMixRecorder) が追加されました。
ピクチャーインピクチャー (PiP) やサイドバイサイド画面分割 (AliyunMixComposer) などの効果を可能にするマルチトラック動画スティッチングが追加されました。
V3.10.0
機能の更新
Archfiend と Minion の効果音が追加されました。
MJPEG 動画フォーマットのサポートが追加されました。
特定の破損した動画ファイルの再生互換性が向上しました。
単一フレームの強制レンダリングをサポートする draw メソッドが追加されました。
バグの修正
短く録画されたビデオクリップの長さが不正確である問題が修正されました。
録画中にアプリがバックグラウンドに移動した際にウォーターマークが消える問題が修正されました。
録画中に前面カメラと背面カメラを切り替える際のカクつきの問題が修正されました。
エディターで動画を生成およびエクスポート中にアプリがバックグラウンドに移動した際に発生する可能性のあるクラッシュが修正されました。
V3.9.0
機能の更新
生き生きとした女性の声、深みのある男性の声、リバーブ、エコーの4つの効果を提供する効果音 API が追加されました。
編集モジュールのシークパフォーマンスが向上しました。
SDK の安定性が向上しました。
V3.8.0
機能の更新
録画の安定性が向上しました。
クロップ時間選択の精度が向上しました。
編集と再生が最適化され、スムーズでカクつきのない体験が実現しました。
編集と合成の速度が最適化されました。
いくつかのバグが修正されました。
アプリがバックグラウンドから復帰した後の合成の再開がサポートされました。
安定性モニタリングを向上させ、将来のデータ要件をサポートするために、短編動画 SDK は依存関係ライブラリを必要とするようになりました。SDK を手動で統合する場合は、AlivcConan.framework を追加してください。CocoaPods を使用する場合は、`pod 'AlivcConan', '0.9.0'` を実行してください。詳細については、デモをご参照ください。
V3.7.7
機能の更新
SDK の安定性が向上しました。
トリミングして生成された動画の画質を改善しました。
V3.7.5
機能の更新
iOS 12 で生成された HEVC 動画の逆再生中に異常な表示が発生するバグが修正されました。
エディターでサードパーティ製レンダリング API を使用した際にクラッシュする可能性のあるバグが修正されました。
時間エフェクトの再生のスムーズさが向上しました。
GIF 画像のインポート互換性が強化されました。
奇数の解像度を持つ動画のインポートがサポートされました。
マルチセグメント録画の音声と映像の同期が最適化されました。
安定性が向上しました。
V3.7.0
機能の更新
フェードイン/フェードアウト、ポリゴントランジション、ブラインドなどの一般的な効果を含むトランジション機能が追加されました。
基本的なアニメーション (回転、パン、スケール、透明度) とカスタムアニメーション効果 (リニアワイプ) を含む特殊効果 API が追加されました。
指定されたストリームに指定された期間、ガウスぼかし効果を適用する機能が追加されました。
指定されたストリームに指定された期間、表示モード (フィルまたはクロップ) を適用する機能が追加されました。
マルチセグメントダビングと速度調整をサポートするダビング API が追加されました。
マルチセグメント動画に複数の速度調整時間エフェクトを適用することがサポートされました。リピートおよび逆再生効果は、引き続き単一セグメント動画でのみサポートされます。
API の変更
編集プレビューが終了した後、`replay` API を呼び出す必要があります。以前は `play` API が呼び出されていました。
データをプリロードするためにエディターに `prepare` API が追加されました。`startEdit` の後にこの API を呼び出してください。
ウォーターマークの位置とサイズの参照座標が出力解像度の座標に変更されました。
トランジション効果を適用する場合、まず `stopEdit` を呼び出し、次にトランジションを適用し、その後 `startEdit` を呼び出す必要があります。
AliyunPasterController から `delegate` プロパティが削除されました。
AliyunEditor から `destroyAllEffect` API が削除されました。
QuCore-ThirdParty.framework が alivcffmpeg.framework に名前変更されました。
V3.6.5.5
機能の更新
このバージョンは Xcode 10.x と互換性があります。
V3.6.5.3
機能の更新
録画中に MV を追加している間に画面がロックされたときに時折発生するクラッシュの問題が修正されました。
逆再生中に特殊効果フィルターを追加した際のタイミングが不正確になる問題が修正されました。
一部の動画で色域が正しく表示されない問題が修正されました。
AAC-SBR オーディオフォーマットのサポートが追加されました。
V3.6.5
機能の更新
エクスポート中に時折発生するクラッシュのバグが修正されました。
逆再生動画の再生のスムーズさが向上しました。
V3.6.0
機能の更新
パッケージサイズとよくある質問
パッケージ名 | パッケージサイズ (MB) |
AliyunVideoSDKPro.framework 3.5.0 release | 4.9 M |
AliyunVideoSDKPro.framework 3.5.0 debug | 10.1 MB |
AliyunVideoSDKPro.framework 3.6.0 release | 7.6 M |
AliyunVideoSDKPro.framework 3.6.0 debug | 15.7 M |
QuCore-ThirdParty.framework 3.5.0 release | 9.3 M |
QuCore-ThirdParty.framework 3.5.0 debug | 23.1 M |
QuCore-ThirdParty.framework 3.6.0 release | 10.2 M |
QuCore-ThirdParty.framework 3.6.0 debug | 23.2 M |
AliyunVideoSDKPro.framework と QuCore-ThirdParty.framework の両方を置き換える必要があります。そうしないと、合成クラッシュなどの例外が発生する可能性があります。
API の変更
ウォーターマーク API
`-(void)setWaterMark: frame` API は非推奨です。`-(void)setWaterMark` を使用してください。例:
NSStringwatermarkPath = [[NSBundle mainBundle] pathForResource:@”watermark” ofType:@”png”]; AliyunEffectImage effectImage = [[AliyunEffectImage alloc] init]; effectImage.frame = CGRectMake(10, 10, 28, 20); effectImage.path = watermarkPath; [self.editor setWaterMark:effectImag];動画終了インターフェイス
3.6 プレビュー中にウォーターマークを表示するには、`-(void)setTailWaterMark` メソッドを呼び出します。以下のコードは例です:
NSStringtailWatermarkPath = [[NSBundle mainBundle] pathForResource:@”tail” ofType:@”png”]; AliyunEffectImagetailWatermark = [[AliyunEffectImage alloc] initWithFile:tailWatermarkPath]; tailWatermark.frame = CGRectMake(CGRectGetMidX(self.movieView.bounds) - 84 / 2, CGRectGetMidY(self.movieView.bounds) - 60 / 2, 84, 60); tailWatermark.endTime = 2; [self.editor setTailWaterMark:tailWatermark];音楽追加 API
バージョン 3.6 はマルチチャンネルオーディオストリームミキシングをサポートしています。単一のオーディオストリームのみが必要な場合は、remove インターフェイスを呼び出してください。例:
AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path]; [self.editor removeMusics];// 単一のオーディオトラックのみが必要な場合はこれを呼び出します。 [self.editor applyMusic:music];音楽を追加する際は、まず `-(void)removeMVMusic` を呼び出す必要があります。例えば、ファイルパスから音楽を追加する場合:`AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path]`。
[self.editor removeMVMusic]; [self.editor removeMusics]; [self.editor applyMusic:music];バージョン 3.6 は、音楽ファイル内の時間範囲を選択して再生することをサポートしています。例:
AliyunEffectMusicmusic = [[AliyunEffectMusic alloc] initWithFile:path]; music.startTime = startTime; // 音楽自体の開始時刻。 music.duration = duration; // 音楽自体の再生時間。 music.streamStartTime = streamStart[_player getStreamDuration]; // 再生タイムライン上での音楽の開始時刻。 music.streamDuration = streamDuration * [_player getStreamDuration]; // 再生タイムライン上での音楽の再生時間。
新しい時間エフェクト表示
デモには `-(void)addTimelineTimeFilterItem` API が含まれています。コード例については、デモをご参照ください。
時間エフェクトと特殊効果フィルターの相互作用
全長速度調整または逆再生中に特殊効果フィルターを追加する場合、時間範囲が正しく表示されることを確認する必要があります。バージョン 3.6 の関連コードは、以下の3つの関数にあります:
(void)didBeganLongPressEffectFilter:(AliyunEffectFilterInfo *)animtinoFilterInfo ; (void)didTouchingProgress; (void)didEndLongPress;これらの3つの関数のコードを直接参照できます:
AliyunEffectFilter *animationFilter = [[AliyunEffectFilter alloc] initWithFile:[animtinoFilterInfo localFilterResourcePath]]; float currentSec = [self.player getCurrentTime]; float currentStreamSec = [self.player getCurrentStreamTime]; animationFilter.startTime = currentSec; animationFilter.endTime = [self.player getDuration]; animationFilter.streamStartTime = currentStreamSec; // 新しいプロパティ。時間エフェクトが適用されている場合は streamStartTime を設定します。 animationFilter.streamEndTime = [self.player getStreamDuration];// 新しいプロパティ。時間エフェクトが適用されている場合はこれを設定します。 [self.editor applyAnimationFilter:animationFilter];下位互換性のため、時間エフェクトが適用されていない場合は、`streamStartTime` と `streamEndTime` を設定せずに `startTime` と `endTime` を直接設定することもできます。
新しい時間エフェクト API
バージョン 3.5 との統合では互換性の問題は発生しません。コード例については、バージョン 3.6 のデモをご参照ください。例:
AliyunEffectTimeFilter *timeFilter = [[AliyunEffectTimeFilter alloc] init]; timeFilter.startTime = [_player getCurrentStreamTime]; timeFilter.endTime = timeFilter.startTime + 1; timeFilter.type = TimeFilterTypeSpeed; timeFilter.param = 0.5; [self.editor applyTimeFilter:timeFilter];再生ステータスと API 呼び出しの調整 (例:アプリとページの切り替え)
バージョン 3.6 では、アプリとページの切り替えが内部で処理されます。これはバージョン 3.5 からの変更点です。詳細は以下の通りです:
`-(void)setActive` メソッドは非推奨です。
`viewWillAppear` と `viewWillDisappear` の処理:`viewWillDisappear` が呼び出されたとき、`stopEdit` を呼び出して AliyunEdit オブジェクト全体を破棄する必要はありません。`stop` を呼び出して再生を停止します。同様に、`viewWillAppear` が呼び出されたときは、`play` を呼び出して再生を再開します。
バックグラウンドとフォアグラウンド間のアプリ切り替えの処理:
アプリがバックグラウンドに送られると、SDK は再生またはエクスポートを停止します。アプリがフォアグラウンドに戻ると、再生はデフォルトで再開されます (または一時停止のまま)。
エラー処理:
バージョン 3.6 では、再生またはエクスポート中にエラーが発生した場合、プロセスは停止します。エラーは `playError` または `exportError` を通じて返されます。必要に応じてエラーを処理できます。
AliyunImporter クラスの API 調整。以下の3つの API は非推奨です。下位互換性のため、当面は呼び出しても問題は発生しません。
(void)addVideoWithPath:(NSString *)videoPath animDuration:(CGFloat)animDuration。
(void)addVideoWithPath:(NSString *)videoPath startTime:(CGFloat)startTime duration:(CGFloat)duration animDuration:(CGFloat)animDuration。
(NSString )addImage:(UIImage )image duration:(CGFloat)duration animDuration:(CGFloat)animDuration。
新しい API は AliyunClip オブジェクトを作成することで機能します。
時間エフェクトのため、プレーヤーに関するいくつかの基本的な概念を区別する必要があります:
/* 合計時間を秒単位で取得します。@return 合計時間 */
(double)getDuration
/* 現在の再生時間を秒単位で取得します。*/
(double)getCurrentTime
/* 元のビデオストリームの長さを秒単位で取得します。@return 合計時間 */
(double)getStreamDuration
/* 元のビデオストリームの再生時間を秒単位で取得します。*/
(double)getCurrentStreamTime
例
例えば、15秒の動画に全長にわたって2倍速の早送りを適用したとします。動画は通常の2倍の速度で再生されます。この場合、`getDuration` は 7.5 秒です。`getCurrentTime` が 3.5 秒の場合、`getStreamDuration` は 15 秒、`getCurrentStreamTime` は 7 秒です。
別の例として、15秒の動画に全長にわたって2倍速のスローモーションを適用したとします。この場合、`getDuration` は 30 秒です。`getCurrentTime` が 10 秒の場合、`getStreamDuration` は 15 秒、`getCurrentStreamTime` は 5 秒です。
さらに別の例として、15秒の動画に全長にわたって逆再生を適用したとします。この場合、`getDuration` は 15 秒です。`getCurrentTime` が 6 秒の場合、`getStreamDuration` は 15 秒、`getCurrentStreamTime` は 9 秒です。
上記の例は、動画全体に対するエフェクトに適用されます。部分的な速度調整やリピートなどの部分的なエフェクトの場合、値は同じルールに基づいて計算されます。
その他
リリースノート
時間エフェクト機能の新しい API
(int)applyTimeFilter:(AliyunEffectTimeFilter *)filter。
(int)removeTimeFilter。
AliyunImporter クラスの API が調整されました。以下の3つの API は非推奨です。
(void)addVideoWithPath:(NSString *)videoPath animDuration:(CGFloat)animDuration。
(void)addVideoWithPath:(NSString *)videoPath startTime:(CGFloat)startTime duration:(CGFloat)duration animDuration:(CGFloat)animDuration。
(NSString )addImage:(UIImage )image duration:(CGFloat)duration animDuration:(CGFloat)animDuration
新しい API は AliyunClip オブジェクトを作成することで機能します。
再生ステータスと API 呼び出しの調整:バージョン 3.6 では、アプリとページの切り替えが内部で処理されます。これはバージョン 3.5 からの変更点です。詳細は以下の通りです:
`(void)setActive` メソッドは非推奨です。
`viewWillAppear` と `viewWillDisappear` の処理:`viewWillDisappear` が呼び出されたとき、`stopEdit` を呼び出して AliyunEdit オブジェクト全体を破棄する必要はありません。`stop` を呼び出して再生を停止します。同様に、`viewWillAppear` が呼び出されたときは、`play` を呼び出して再生を再開します。
バックグラウンドとフォアグラウンド間のアプリ切り替えの処理:アプリがバックグラウンドに送られると、SDK は再生またはエクスポートを停止します。アプリがフォアグラウンドに戻ると、再生はデフォルトで再開されます (または一時停止のまま)。
エラー処理:バージョン 3.6 では、再生またはエクスポート中にエラーが発生した場合、プロセスは停止します。エラーは `playError` または `exportError` を通じて返されます。必要に応じてエラーを処理できます。
新しいプレーヤー API
(double)getStreamDuration; // 元のビデオストリームの長さを秒単位で取得します。
(double)getCurrentStreamTime; // 元のビデオストリームの再生時間を秒単位で取得します。
ウォーターマーク
非推奨の API:(void)setWaterMark: frame。
新しい API:(void)setWaterMark:(AliyunEffect*)waterMark。
エンディングスレートウォーターマークはプレビューをサポートしています。`-(void)setTailWaterMark` API を呼び出す必要があります。
音楽 API
マルチチャンネルオーディオストリームと、オーディオ内の時間範囲を選択して再生することをサポートしています。オーディオトラックを1つだけ追加する場合は、`remove` API を呼び出すことができます。例:
AliyunEffectMusic *music = [[AliyunEffectMusic alloc] initWithFile:path]; [self.editor removeMusics];// オーディオトラックが1つだけ必要な場合はこれを呼び出します。 [self.editor applyMusic:music];音楽ファイル内の時間範囲を選択して再生することをサポートしています。例:
AliyunEffectMusicmusic = [[AliyunEffectMusic alloc] initWithFile:path]; music.startTime = startTime; // 音楽自体の開始時刻。 music.duration = duration; // 音楽自体の再生時間。 music.streamStartTime = streamStart[_player getStreamDuration]; // 再生タイムライン上での音楽の開始時刻。 music.streamDuration = streamDuration * [_player getStreamDuration]; // 再生タイムライン上での音楽の再生時間。