2

私は Qt で書いている S60 アプリを持っています。このアプリには多数 (数千) の小さなオーディオ ファイルが添付されており、それぞれに話し言葉のクリップが含まれています。私のアプリはサウンドの忠実度の高い再生を要求しませんが、最低のビット レートでモノ MP3 の場合でも、それぞれ平均 6k になります。つまり、私のアプリには最大 10Mb のフットプリントがある可能性があります。このアプリの性質上、一度に必要なオーディオ クリップはわずか 50 個程度ですが、1 ~ 10 個程度です。

したがって、私の質問には2つの部分があります。

1) モバイルアプリの 10Mb は大きすぎますか?

2) インストール時にすべてのオーディオ ファイルを出荷するのに代わる合理的な方法は何ですか?

ありがとう

4

6 に答える 6

2

すべてのクリップを 1 つのファイルにまとめてから、ストリームをシークすることを検討しましたか? MP3 のファイルごとのオーバーヘッドがどの程度かはわかりませんが、役立つかもしれません。

とはいえ、世の中に出回っているすべての S60 携帯電話には 1GB 以上が必要なので、10MB は「多すぎる」ようには聞こえません。ただし、ユーザーが PC を使用して Web サイトからダウンロードし、ケーブルでインストールできる JAR ファイルとしてアプリを提供する必要があります。電話自体で大量のデータをダウンロードすると、世界の多くの地域 (スイスなど) ではかなりの費用がかかります。

于 2009-10-13T12:59:45.653 に答える
2

永続ストレージに関して言えば、10Mb は最近のモバイル デバイスにはあまり多くないため、一度ダウンロードすればアプリケーション データをデバイスに保存することは問題になりません。

ただし、考慮すべきもう 1 つのタイプのフットプリントは、メモリ使用量です。遅延を最小限に抑えるために、再生を開始する前にクリップを RAM にバッファリングしておくのが理想的です。ほとんどの Symbian デバイスでは、プロセスごとのデフォルトのヒープ サイズ制限が 1Mb に設定されているため、すべてのクリップをメモリに保持することはできないため、アプリでキャッシュの読み込みとクリアを管理する必要があります。

ただし、通常、Symbian で複数の圧縮クリップを一度にバッファリングすることはできません。これは、クリップをバッファリングするには通常、希少なリソース (つまり、オーディオ コプロセッサ) を使用する必要があるためです。別のクリップが既に開いているときに新しいクリップを開くと、通常、最初のクリップが閉じられます。つまり、一度にメモリにバッファリングできるのは 1 つだけです。

したがって、レイテンシを短縮する必要がある場合、アプリは必要に応じて読み込みと解凍を行い、オーディオ スタックにフィードできる PCM を提供する必要があります。

于 2009-10-13T15:07:34.967 に答える
1

何千ものオーディオ ファイルを、たとえば 20 個のバッチに分割することを考えたことはありますか?

アプリケーションのインストール ファイルにいくつかのバッチを含めて、ユーザーが必要に応じて、アプリケーションの GUI から一度に 1 つ (または複数) のバッチをダウンロードできるようにすることができます...

于 2009-10-13T17:14:09.373 に答える
1

10MBは間違いなく大きいです。ほとんどのアプリは 1MB 未満ですが、辞書などの大きなアプリ (6-10-15 MB) を見たことがあると思います。

ほとんどの S60 スマートフォンには約 100MB のスマートフォン内ストレージ スペースがありますが、メモリ カードも搭載されており、これらは通常 128MB 以上であり、ハイエンドのスマートフォンでは 4GB も珍しくありません。対象の電話の仕様を確認する必要があります。

このような大規模なインストール パックを使用すると、無線でのインストールが不可能になります。ファイルをマージして、多くの小さなファイルではなく、いくつかの大きなファイルだけにするようにしてください。そうしないと、インストールに時間がかかりすぎます。

別の方法は、最も使用されているサウンドを出荷し、必要に応じて残りをダウンロードすることです。S60 にはセキュリティ チェックがあり、署名するときにアプリに特別なアクセス許可を与える必要があります。

于 2009-10-13T15:08:52.997 に答える
0
  1. モバイルアプリ用に 10MB を提供しても大きすぎません。ユーザーが無線で取得しようとしているコンテンツが、ユーザーが負担するデータ料金に見合うだけの価値があることをユーザーに納得させます。

プラットフォームとしての Symbian は、実際のオーディオ ファイルが SIS ファイル内から配信されるため、このアプリとうまく連携できますが、バイナリにはそれらが含まれないため、メモリの問題は発生しません...

  1. 最適なオプションは、Web サイト経由でメディア ファイルをダウンロードできるようにすることです。これにより、ユーザーは PC-Suite/大容量ストレージ転送経由でメディア ファイルをダウンロードして同期できます。ユーザーがファイルを e:\Others または公開されているフォルダーにダウンロードできるようにし、そこからメディアを読み取ることを提案します...

私の2セント...

于 2010-05-10T08:45:31.433 に答える
0

サウンド ファイルを SQLite データベースに保存し、必要なときにのみアクセスします。話す辞書を書いているようですね。アプリ自体はできるだけ小さくしてください。これにより、アプリの読み込みが非常に速くなります。データベース市場が成熟するにつれて、開発者はもう 2 つのデータベース エンジンについて知る必要があるようです。最大パフォーマンスのデスクトップおよびハンドヘルド アプリケーション用の SQLite と、巨大なマルチユーザー データベース用の MySQL です。重要でない限り、起動時にこれらのサウンドをすべてロードしないでください。私のお気に入りの音声辞書アプリケーションは、いまだにきしむ Microsoft Bookshelf '96 です。冗談じゃない。

于 2009-10-13T18:26:01.840 に答える