4

私のアプリでは、再生中のビデオの上に長方形を描画できるようにしたいと考えています。NSView である描画キャンバスを既に実装しており、プレーヤーも実装しています。

ただし、描画キャンバスをプレーヤー ビューの上に配置すると、プレーヤー ビューはまだ上に表示されます

描画キャンバスがプレーヤー ビューの上にないことを考えていましたが、そうです。ウィンドウのサイズを変更すると、ビデオでカバーされていないウィンドウの領域に描画できることがわかります。ただし、魔法のように、再生中のビデオの上に私の絵が表示されません。

どこに問題があるのか​​ 本当にわかりません。

どんな助けでも大歓迎です!

4

2 に答える 2

3

また、superView に追加する 1 つの NSView がレイヤーでサポートされていて、最後の NSView がサポートされていないという問題もありました。また、レイヤーでサポートされた NSView が常に一番上にあるため、NSView のレイヤーを有効にすることをお勧めします。 AVPlayer の上に来る [yourCanvasView setWantsLayer : YES];

...これでうまくいくと思いますが、

于 2013-04-23T19:46:22.750 に答える
2

hereに回答されているように、iOS用のソリューションがあり、OS Xでも動作します(OS X 10.10.2でテストしました)。

基本的に、zPosition必要なビューを一番上に設定します。

 topView.layer.zPosition = 1;
于 2015-01-29T20:58:44.660 に答える