0

LTLFTC..

母は自分の教会のために行うプロジェクトを私にくれました。これは 1,300 曲以上の歌詞を含む HTML 賛美歌で、彼女はそれを Android アプリに変換したいと考えています。各曲には独自の .htm があり、いくつかの基本的な css があります。ほとんどの曲には .mid もあります。

私は Android 用に何も書いたことがありません。私が知る限り、.htm は webview で正常に動作するはずですが、ユーザーがボタンを押して、各曲に関連付けられた .mid ファイルを再生できるようにしたいと考えています。また、技術者でなくても簡単にインストールできるように、全体を .apk として配布したいと考えています。

.mid ファイルを /res/raw に配置できると思いますが、実際にそれらを再生するには、jetplayer を使用する必要があると思います。方法がわからない。

また、webview を使用してそれぞれの歌詞を表示できるとも考えています。

私がぼやけているのはこれです:Androidアプリから1300以上のhtmlファイルを手動で編集せずに呼び出す/名前を付けるにはどうすればよいですか? それらを /res/raw に含めた場合でも、名前 (0001.htm、0002.htm など) で呼び出すことができますか?それは良い考えですか?

すべて手作業で編集してもかまいませんが、できれば避けたいと思います。

これがあまりにも面倒な場合は申し訳ありません。アドバイスをありがとう。

編集: html、css、およびほとんどの js が機能するようになりました。HTML または js 内から MediaPlayer を呼び出すことはできますか? Windows では、埋め込みプレーヤーと、各 hymn.html 内の .mid ファイルへの単純なリンクの両方があります。埋め込みプレーヤーは a.js で定義され、次のようになります。

// Embed the music player into the webpage.
function embed_music(filename)
{
  var type="mid";
  var width=280;
  var height=44;
  //document.write('<embed src="'+filename+'" if (navigator.appName=="Microsoft Internet Explorer") {  type="application/x-mplayer2" }if 

(navigator.appName=="Netscape") {  type="audio/'+type+'" }pluginspage="http://www.microsoft.com/Windows/MediaPlayer/" width="144" height="44" 

autostart="true" loop="true" border="1">')
  if(filename=="none")
    document.write("<table cellpadding=0 cellspacing=0 style=\"width:"+width+"px;height:"+height+"px;border:1px solid #dddddd;\"><tr><td 

style=text-align:center;vertical-align:middle;font-size:80%;>The music file for this hymn is unavailable! Sorry!</td></tr></table>")
  else
    document.write('<embed src="'+filename+'" type=audio/'+type+' autostart=false loop=false width='+width+' height='+height+'>')
}

個々の賛美歌の html ファイルの中には、次のようなものがあります。

<script>embed_music("../../midi/e0011.mid")</script>

理想的には、a.js を変更して個々の .html をそのままにしておくことができればよいのですが、それらすべてを編集する必要がある場合はそうします。

再度、感謝します!

4

1 に答える 1

1

Html および css ファイルはassets、raw よりもフォルダーの方が適している場合があります。そうすれば、パッケージ化する前に圧縮されます。に配置されたファイルはraw圧縮されません。

assets非常に簡単に内容をリストできます--

AssetManager am = getAssets();
String[] assetList = am.list( "" );
for( String asset : assetList ) {
    if( asset.endsWith( ".htm" ) ) {
        // do something with the html file
    }
}

また、AndroidMediaPlayerは midi 再生をサポートしています。

MediaPlayer mp = new MediaPlayer();
File f = new File( ... path to midi ... );
FileInputStream fis = new FileInputStream(f);
FileDescriptor fd = fis.getFD();
mp.setDataSource( fd );
mp.prepare();
mp.start();
于 2013-03-14T02:45:22.780 に答える