1

RedLaserの3.XSDKを使用すると、getBeepResource()が呼び出されることはありません。アプリケーションはバーコードを問題なくスキャンしますが、ビープ音も鳴ります。

何がビープ音を鳴らしますか?BarcodeScanActivityクラスに何も表示されません。

4

1 に答える 1

2

3.0 RedLaser SDKでは、バーコードがスキャンされたときにSDKがサウンドを再生する機能を削除しました。代わりに、BarcodeScanActivityは、onScanStatusUpdateメソッドを介して、検出したバーコードの具体的なサブクラスに定期的に通知します。このメソッドについては、SDKのドキュメントで読むことができます。

AndroidのMediaPlayerオブジェクトを使用して、サウンドファイルを再生するメディアプレーヤーを作成し、新しいバーコードが見つかったときにMediaPlayer.start()を呼び出すことができます。

これがどのように機能するかを変更した理由は、「間違ったバーコード」の問題と多くの関係があります。これは、アプリケーションが特定のタイプのバーコードを探している場所ですが、ユーザーはそれ以上のことを知らないため、電話を別のタイプのバーコードにかざしています。3.0 SDKを使用すると、アプリケーションはサポートされているすべてのバーコードタイプをスキャンするようにSDKを構成できます。ユーザーが「間違った」タイプをスキャンしようとした場合、スキャンセッションを終了せずにそっとそのように伝えることができます。結果が入ったときに評価するだけで、「正しい」バーコードタイプが表示されるまでセッションを終了しないでください。

このソリューションの副作用は、SDKがどのバーコードタイプが「正しい」タイプであり、どのバーコードタイプがアプリケーションに通知されたいが実際には使用されないタイプであるかを認識しないことです。したがって、バーコードが見つかるたびにSDKにビープ音を鳴らしても意味がありません。ビープ音は、「正しい」タイプのバーコードがスキャンされ、アプリケーションのみがそれが何であるかを認識している場合にのみ再生されます。

于 2012-07-24T01:20:58.617 に答える