問題タブ [in-call]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ios7 - iOS 7は、通話中のステータスバーがモノタッチを切り替えているときにUINavigationControllerのサイズを自動的に変更します
通話中のステータスバーが表示されたときに問題が発生しました。試してみました。
ビューの下部にあるすべてのボタンまたはコントロールを非表示にして、まだすべてのビューを押し下げています。ルートビューコントローラーでも同じコードを試しましたが、機能しません。
このように、すべてのコントロールに柔軟な UI を使用しています。
ナビゲーションバーも隠しています
誰かが私を助けることができますか?ビューのサイズを自動変更するか、ステータス バーの変更を検出してビューをリロードする別の方法はありますか?
ios - 通話中のステータスバーが表示されている場合、UIButtons のタップ領域が変更されます
更新 2
私の疑いは正しかった。問題はアニメーションにありました。これは、インコール ステータス バーが表示されているときに異なる Y 軸の原点を考慮していなかったためです。関連するコードも示す回答を追加します。
更新 1
メニューのアニメーションが問題を引き起こしていると思いました。メニューを押すと、アニメーションが開始されてメニューが表示されます。アニメーションは、提示された VC を右にスライドさせ、少しだけ縮小し、z 軸で回転させて滑らかにクールに見せます。その方向で調査し、何か見つけたら更新します。
元の投稿
アプリで通話中ステータス バーを表示しているときに、いくつかの UI の問題に気付きました。
ナビゲーション バーとして機能し、メニューに戻るための小さなボタンを含むカスタム ビューがあります。(私はそれを呼びます menuBtn
)。tableViewHeader
このカスタム ナビゲーション バーの下に、テーブル内の日の間を移動するための 2 つのボタンを含むテーブル ビューがあります。(これらのボタンを :prevBten
と と呼びますnextBtn
)。これらの 3 つのビューを例として使用しますが、問題はいたるところで発生します...
通常、すべてが完璧に機能し、期待どおりに機能します。通話中のステータス バーが表示されるようになっても、サイズ変更は完璧に機能し、生活は快適です。クリックすると問題が発生menuBtn
し、現在のビューがスライドしてメインメニューが表示されます(そうすることで、 を切り替えますStoryboards
)。ここで、元の画面に戻ると、すべてのビューは (サイズ的には) 問題ないように見えますが、タップ領域がボタンの画像と一致していません。あるべき場所にボタンが表示されますが、タップしても何も起こりません。奇妙な点は、ボタンの下をタップすると、それらのボタンへのアクション バインドがトリガーされることです。
さらに奇妙なことに、問題が発生すると、特定のボタン (つまりmenuBtn
)のタップ領域が別のボタン ( )と重なることがありますprevBtn
。
原因/解決策をしばらく探していました。私は運が悪いと次の記事を読みました:
Storyboards
インターフェイスビルダーで自動サイズ変更を設定しようとしてもうまくいきませんでしたが、切り替えているという事実と関係があるという予感がしました。
助けたい人に役立つかもしれないいくつかのコード
menuBtn
が押されたときにトリガーされるメソッド:
いくつかのスクリーンショット
prevBtn
3 番目のスクリーンショットでは、 ( の下にあるmenuBtn
)をタップすると、menuBtn
代わりにアクションがアクティブになります。prevBtn
(私が描いた円で示されているように-赤い円の内側をmenuBtn
タップするとprevBtn
、
誰かが問題の根本に到達して修正するのを手伝ってくれることを願っています.
前もって感謝します。
ios - ユーザーが通話中のステータス バーを持っているかどうかを検出する
ユーザーが通話中かテザリング中かを検出するにはどうすればよいですか? 次のような iAd のサブビューがあります。
そして、ユーザーが通話中に間違って設定しますか? どうすればこれを検出できますか?
ios - iOS 通話中ステータス バーの更新ビュー コントローラーが画面にモーダル表示されるようになりました
大規模な調査の後、ほぼ2日間のグーグル、スタックオーバーフローなど...
私の問題はこれです:私はメインViewControllerからViewControllerを次のように提示しています:
iPhoneユーザーが通話中、または自分の電話をホットスポットとして使用している場合は常に、ステータスバーが拡大され、モーダリーに提示されたVCが一番下に押し出されますが、原点は(0;0)に設定されています問題は、ユーザーが通話中に通話を終了したときです彼はアプリケーション ステータス バーのサイズを通常のサイズに変更していますが、モーダル VC は上に移動しませんでした。
この通知のおかげで、コードで発生したときにこれについて知っていました。
最悪なのは、フレームが正しく、原点がまだ (0,0) であることです。
提示されたモーダル vc を refres する方法はありますか? 却下せずにもう一度提示しますか?
ios - 通話中バーがアクティブな場合、カスタム UIViewController トランジションが間違った topLayoutGuide と bottomLayoutGuide を設定する
私はUIViewController
別のものを提示していUIViewController
ます。両方のビュー コントローラーはtopLayoutGuide
、bottomLayoutGuide
と 自動レイアウトを使用します。
インコール バーの有無にかかわらず、すべて問題ありません。または、カスタムトランジションの有無にかかわらず...
しかし、インコール バーとカスタム トランジションがある場合、提示されたビュー コントローラーのサブビューが 20 ピクセル下にずれて配置されます (その結果、下部のビューがクリップされます)。
確認したところ、topLayoutGuide
とbottomLayoutGuide
が間違っています...
トランジションのコードは次のとおりです。
プレゼンテーションのコードは次のとおりです。
ios - シミュレーターでアクティブ化すると、iOS の通話中ステータス バーが表示されません。これは正常な動作ですか?
シミュレーターでアクティブにすると、通話中のステータス バーが表示されません。
私のアプリでは通常のステータス バーが常に非表示になっていますが、これは正常な動作ですか?
通話中のステータス バーがまったく表示されない場合、アプリは拒否されますか?
ios - 通話中のステータス バーが表示中のビュー コントローラーと重なる
3 つのcontrollerFirstViewController
と.SecondViewController
RootViewController
FirstViewController
からRootViewController
、次にいくつかのボタンのタップSecondViewController
で提示FirstViewController
するので、コントローラーの階層は次のようになります。
が画面に表示されているときにin-call status bar
シミュレーターのToggle In-call status bar
オプションを使用して表示し、それを閉じて元に戻ると、ビューが下に移動せず、コントローラーのビューと重なってしまいます。SecondViewController
FirstViewController
FirstViewController
Green status bar
このシナリオを処理する方法のようなアイデアはありますか? またはビューフレームを手動で調整する必要がありますか?
ノート:
1) デモ アプリでこのシナリオを試しているので、複雑なコードはありません。
in-call status bar
2) また、 から表示しFirstViewController
て に戻るとRootViewController
、ルート コントローラーのレイアウトが台無しにならず、ビューが正しくシフトダウンするという奇妙な動作も見つかりました(RootViewController
ストーリーボードにあり、別の XIBFirstViewController
を持っています)。SecondViewController
どんなポインタでも大歓迎です。
android - Android でのプログラムによる通話のミュート
ここに(2014年初頭に)投稿された古い質問を再訪しています:
最近のプロジェクトでは、既存の通話をミュートしてユーザーからの音声録音を取得できるアプリを構築しています。通話中の音声録音が機能することはわかっていますが、問題ありません (ユーザーのマイクのみを録音します)。これで、プログラムでボリュームを減らすこともできます。これは、Githubのコードを使用して行ったものです。
具体的には、AudioManagerクラスを使用して音量を 0 に設定し、バックアップとしてミュートしていますが、機能しません..これは Samsung 固有の問題であるかどうか疑問に思っています..
テスト目的で上記のブール変数を出力していますが、どちらも「False」を出力します。
しかし、Samsung S5 デバイスでは、音量を 0 に設定できません。これは、音量スライダーを使用して通話中の音量を調整する場合にも当てはまります。スライダーは、シークバーの左端の位置に物理的に移動しません。ドラッグできる一番左の位置については、下の図を参照してください。
着信通話ストリームをミュートする方法について何かアイデアはありますか?
ios - デバイスのフォアグラウンド アプリで 2 倍の高さの緑色のステータスバー (通話中) を表示するにはどうすればよいですか?
バックグラウンドで赤い録音バーを表示するよう求める質問がたくさんあります。AVAudioSession
そのためにカテゴリを使用する必要があることは完全に明らかAVAudioSessionCategoryPlayAndRecord
です。私の質問は、アプリでアクティブな VOIP 通話をしているときに、フォアグラウンド アプリに緑色の通話中バー (または少なくとも赤いバー) を表示するにはどうすればよいですか? そのため、 Whatsappや Skypeと同じように、ステータスバー領域をタップして UI を呼び出すことができました。
私がすでに試したこと:
voip
このSOの回答で示唆されているように、Info.plist + +の主要なaudio
モード(バックグラウンドに移動すると赤いステータスバーが表示されますが、フォアグラウンドでは何も表示されません)UIBackgroundModes
setCategory:AVAudioSessionCategoryPlayAndRecord
setActive
- 前 +
AVAudioSession
+setMode:AVAudioSessionModeVoiceChat
- 機能しなかった - pjsip ソースでフラグをソケットに設定
kCFStreamNetworkServiceTypeVoIP
し、再コンパイルしましたが、役に立ちませんでした。また、iOS 8 以降では非推奨です。 - 別のソケットを作成し、inputStream/outputStream の voip フラグを設定します: (ここ
[self.inputStream setProperty:NSStreamNetworkServiceTypeVoIP forKey:NSStreamNetworkServiceType]
からサンプル コードを取得)
通話に pjsip を使用します。すべての UI を下に移動して、ステータスバーの高さを増やすには他に何ができますか? それを行うための標準的な方法はありますか、またはルート UIWindow のサイズを変更し、ステータスバーの下に別の緑色の UIWindow を設定して、自分でハックする必要がありますか?
編集:それを行う標準的な方法に対する回答が見つからないため、@roman-ermolovの回答を受け入れました。答えを探す人のために、自分でそれを行うためのいくつかのオプションを提案するかもしれません:
- Apple の iAdSuite with Storyboards example のように、ルート ビューコントローラーをコンテナー内にラップします。たとえば、私のサンプル プロジェクトを見てください。おそらくそのバーを作るための最良の方法.
- UINavigationBar の高さをハックする (このアプローチを参照) - ランドスケープではまだ機能しませんが、おそらく解決される可能性があります
- メイン UIWindow のフレームを自分で制御し、別の UIWindow をステータスバーの下に目的のコンテンツとともに配置します。