問題タブ [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.

0 投票する
0 に答える
483 参照

ios7 - iOS 7は、通話中のステータスバーがモノタッチを切り替えているときにUINavigationControllerのサイズを自動的に変更します

通話中のステータスバーが表示されたときに問題が発生しました。試してみました。

ビューの下部にあるすべてのボタンまたはコントロールを非表示にして、まだすべてのビューを押し下げています。ルートビューコントローラーでも同じコードを試しましたが、機能しません。

このように、すべてのコントロールに柔軟な UI を使用しています。

ナビゲーションバーも隠しています

誰かが私を助けることができますか?ビューのサイズを自動変更するか、ステータス バーの変更を検出してビューをリロードする別の方法はありますか?

0 投票する
1 に答える
331 参照

ios - 通話中のステータスバーが表示されている場合、UIButtons のタップ領域が変更されます

更新 2

私の疑いは正しかった。問題はアニメーションにありました。これは、インコール ステータス バーが表示されているときに異なる Y 軸の原点を考慮していなかったためです。関連するコードも示す回答を追加します。

更新 1

メニューのアニメーションが問題を引き起こしていると思いました。メニューを押すと、アニメーションが開始されてメニューが表示されます。アニメーションは、提示された VC を右にスライドさせ、少しだけ縮小し、z 軸で回転させて滑らかにクールに見せます。その方向で調査し、何か見つけたら更新します。

元の投稿

アプリで通話中ステータス バーを表示しているときに、いくつかの UI の問題に気付きました。

ナビゲーション バーとして機能し、メニューに戻るための小さなボタンを含むカスタム ビューがあります。(私はそれを呼びます menuBtn)。tableViewHeaderこのカスタム ナビゲーション バーの下に、テーブル内の日の間を移動するための 2 つのボタンを含むテーブル ビューがあります。(これらのボタンを :prevBtenと と呼びますnextBtn)。これらの 3 つのビューを例として使用しますが、問題はいたるところで発生します...

通常、すべてが完璧に機能し、期待どおりに機能します。通話中のステータス バーが表示されるようになっても、サイズ変更は完璧に機能し、生活は快適です。クリックすると問題が発生menuBtnし、現在のビューがスライドしてメインメニューが表示されます(そうすることで、 を切り替えますStoryboards)。ここで、元の画面に戻ると、すべてのビューは (サイズ的には) 問題ないように見えますが、タップ領域がボタンの画像と一致していません。あるべき場所にボタンが表示されますが、タップしても何も起こりません。奇妙な点は、ボタンのをタップすると、それらのボタンへのアクション バインドがトリガーされることです。

さらに奇妙なことに、問題が発生すると、特定のボタン (つまりmenuBtn)のタップ領域が別のボタン ( )と重なることがありますprevBtn

原因/解決策をしばらく探していました。私は運が悪いと次の記事を読みました:

  1. ClipToBounds親ビュー
  2. で遊んでAutoResizingMasks

Storyboardsインターフェイスビルダーで自動サイズ変更を設定しようとしてもうまくいきませんでしたが、切り替えているという事実と関係があるという予感がしました。

助けたい人に役立つかもしれないいくつかのコード

menuBtnが押されたときにトリガーされるメソッド:

いくつかのスクリーンショット

prevBtn3 番目のスクリーンショットでは、 ( の下にあるmenuBtn)をタップすると、menuBtn代わりにアクションがアクティブになります。prevBtn(私が描いた円で示されているように-赤い円の内側をmenuBtnタップするとprevBtn

通常状態 通話中ステータスバーが開いています タップエリアが間違っています

誰かが問題の根本に到達して修正するのを手伝ってくれることを願っています.

前もって感謝します。

0 投票する
2 に答える
12277 参照

ios - ユーザーが通話中のステータス バーを持っているかどうかを検出する

ユーザーが通話中かテザリング中かを検出するにはどうすればよいですか? 次のような iAd のサブビューがあります。

そして、ユーザーが通話中に間違って設定しますか? どうすればこれを検出できますか?

0 投票する
2 に答える
883 参照

ios - iOS 通話中ステータス バーの更新ビュー コントローラーが画面にモーダル表示されるようになりました

大規模な調査の後、ほぼ2日間のグーグル、スタックオーバーフローなど...

私の問題はこれです:私はメインViewControllerからViewControllerを次のように提示しています:

iPhoneユーザーが通話中、または自分の電話をホットスポットとして使用している場合は常に、ステータスバーが拡大され、モーダリーに提示されたVCが一番下に押し出されますが、原点は(0;0)に設定されています問題は、ユーザーが通話中に通話を終了したときです彼はアプリケーション ステータス バーのサイズを通常のサイズに変更していますが、モーダル VC は上に移動しませんでした。

ここに画像の説明を入力

この通知のおかげで、コードで発生したときにこれについて知っていました。

最悪なのは、フレームが正しく、原点がまだ (0,0) であることです。

提示されたモーダル vc を refres する方法はありますか? 却下せずにもう一度提示しますか?

0 投票する
1 に答える
523 参照

ios - 通話中バーがアクティブな場合、カスタム UIViewController トランジションが間違った topLayoutGuide と bottomLayoutGuide を設定する

私はUIViewController別のものを提示していUIViewControllerます。両方のビュー コントローラーはtopLayoutGuidebottomLayoutGuideと 自動レイアウトを使用します。

インコール バーの有無にかかわらず、すべて問題ありません。または、カスタムトランジションの有無にかかわらず...

しかし、インコール バーカスタム トランジションがある場合、提示されたビュー コントローラーのサブビューが 20 ピクセル下にずれて配置されます (その結果、下部のビューがクリップされます)。

確認したところ、topLayoutGuidebottomLayoutGuideが間違っています...

トランジションのコードは次のとおりです。

プレゼンテーションのコードは次のとおりです。

0 投票する
1 に答える
248 参照

ios - シミュレーターでアクティブ化すると、iOS の通話中ステータス バーが表示されません。これは正常な動作ですか?

シミュレーターでアクティブにすると、通話中のステータス バーが表示されません。

私のアプリでは通常のステータス バーが常に非表示になっていますが、これは正常な動作ですか?

通話中のステータス バーがまったく表示されない場合、アプリは拒否されますか?

0 投票する
0 に答える
249 参照

ios - 通話中のステータス バーが表示中のビュー コントローラーと重なる

3 つのcontrollerFirstViewControllerと.SecondViewControllerRootViewController

FirstViewControllerからRootViewController、次にいくつかのボタンのタップSecondViewControllerで提示FirstViewControllerするので、コントローラーの階層は次のようになります。

が画面に表示されているときにin-call status barシミュレーターのToggle In-call status barオプションを使用して表示し、それを閉じて元に戻ると、ビューが下に移動せず、コントローラーのビューと重なってしまいます。SecondViewControllerFirstViewControllerFirstViewControllerGreen status bar

このシナリオを処理する方法のようなアイデアはありますか? またはビューフレームを手動で調整する必要がありますか?

ノート:

1) デモ アプリでこのシナリオを試しているので、複雑なコードはありません。

in-call status bar2) また、 から表示しFirstViewControllerて に戻るとRootViewController、ルート コントローラーのレイアウトが台無しにならず、ビューが正しくシフトダウンするという奇妙な動作も見つかりました(RootViewControllerストーリーボードにあり、別の XIBFirstViewControllerを持っています)。SecondViewController

どんなポインタでも大歓迎です。

0 投票する
1 に答える
200 参照

ios - 通話中ステータス バーが黒いバーを強制する - iOS

ビューコントローラーがオーバーライドprefersStatusBarHiddenされ、に設定されている場合true。通話中ステータス バーがある場合、上部に黒いバーがあります。これを回避する方法はありますか?

ここに画像の説明を入力

0 投票する
0 に答える
2984 参照

android - Android でのプログラムによる通話のミュート

ここに(2014年初頭に)投稿された古い質問を再訪しています:

最近のプロジェクトでは、既存の通話をミュートしてユーザーからの音声録音を取得できるアプリを構築しています。通話中の音声録音が機能することはわかっていますが、問題ありません (ユーザーのマイクのみを録音します)。これで、プログラムでボリュームを減らすこともできます。これは、Githubのコードを使用して行ったものです。

具体的には、AudioManagerクラスを使用して音量を 0 に設定し、バックアップとしてミュートしていますが、機能しません..これは Samsung 固有の問題であるかどうか疑問に思っています..

テスト目的で上記のブール変数を出力していますが、どちらも「False」を出力します。

しかし、Samsung S5 デバイスでは、音量を 0 に設定できません。これは、音量スライダーを使用して通話中の音量を調整する場合にも当てはまります。スライダーは、シークバーの左端の位置に物理的に移動しません。ドラッグできる一番左の位置については、下の図を参照してください。

通話音量シークバーの最小位置

着信通話ストリームをミュートする方法について何かアイデアはありますか?

0 投票する
2 に答える
1932 参照

ios - デバイスのフォアグラウンド アプリで 2 倍の高さの緑色のステータスバー (通話中) を表示するにはどうすればよいですか?

バックグラウンドで赤い録音バーを表示するよう求める質問がたくさんあります。AVAudioSessionそのためにカテゴリを使用する必要があることは完全に明らかAVAudioSessionCategoryPlayAndRecordです。私の質問は、アプリでアクティブな VOIP 通話をしているときに、フォアグラウンド アプリに緑色の通話中バー (または少なくとも赤いバー) を表示するにはどうすればよいですか? そのため、 Whatsappや Skypeと同じように、ステータスバー領域をタップして UI を呼び出すことができました。

私がすでに試したこと:

  • voipこのSOの回答で示唆されているように、Info.plist + +の主要なaudioモード(バックグラウンドに移動すると赤いステータスバーが表示されますが、フォアグラウンドでは何も表示されません)UIBackgroundModessetCategory:AVAudioSessionCategoryPlayAndRecordsetActive
  • 前 + AVAudioSession+ setMode:AVAudioSessionModeVoiceChat- 機能しなかった
  • pjsip ソースでフラグをソケットに設定kCFStreamNetworkServiceTypeVoIPし、再コンパイルしましたが、役に立ちませんでした。また、iOS 8 以降では非推奨です。
  • 別のソケットを作成し、inputStream/outputStream の voip フラグを設定します: (ここ[self.inputStream setProperty:NSStreamNetworkServiceTypeVoIP forKey:NSStreamNetworkServiceType]からサンプル コードを取得)

通話に pjsip を使用します。すべての UI を下に移動して、ステータスバーの高さを増やすには他に何ができますか? それを行うための標準的な方法はありますか、またはルート UIWindow のサイズを変更し、ステータスバーの下に別の緑色の UIWindow を設定して、自分でハックする必要がありますか?


編集:それを行う標準的な方法に対する回答が見つからないため、@roman-ermolovの回答を受け入れました。答えを探す人のために、自分でそれを行うためのいくつかのオプションを提案するかもしれません:

  1. Apple の iAdSuite with Storyboards example のように、ルート ビューコントローラーをコンテナー内にラップします。たとえば、私のサンプル プロジェクトを見てください。おそらくそのバーを作るための最良の方法.
  2. UINavigationBar の高さをハックする (このアプローチを参照) - ランドスケープではまだ機能しませんが、おそらく解決される可能性があります
  3. メイン UIWindow のフレームを自分で制御し、別の UIWindow をステータスバーの下に目的のコンテンツとともに配置します。