android open - 안드로이드에서 오디오 파일을 재생하는 방법




source media (4)

내 안드로이드 모바일에 mp3 파일이있어 xdz.mp3을 내 sdcard 어딘가에 있습니다. 신청서를 통해 재생하고 싶습니다. 나는 그것에 대해 전혀 모른다.


Answers

@Niranjan, res / raw 폴더에서 원시 파일을 사용하는 경우 (즉, 프로젝트 내부에 저장된 파일을 읽는 경우) :

mediaplayer.setDataSource(context, Uri.parse("android.resource://urpackagename/res/raw/urmp3name");

SD 카드에서 사용해야하는 경우 :

 MediaPlayer mediaPlayer = new MediaPlayer();
 File path = android.os.Environment.getExternalStorageDirectory();
 mediaPlayer.setDataSource(path + "urmp3filename");

이 관련 질문보기 : android에서 원시 폴더와 sdcard 사이의 MediaPlayer 문제


    public class MainActivity extends Activity implements OnClickListener {
    Button play;
    MediaPlayer mp;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setVolumeControlStream(AudioManager.STREAM_MUSIC);
        play=(Button)findViewById(R.id.button1);
        play.setOnClickListener(this);

    }
    @Override
    public void onClick(View arg0)
    {
        mp=MediaPlayer.create(getApplicationContext(),R.raw.song);// the song is a filename which i have pasted inside a folder **raw** created under the **res** folder.//
        mp.start();


    }

    @Override
    protected void onDestroy() {
        mp.release();
        super.onDestroy();
    }

}

MediaPlayer 를 사용하여 오디오 파일을 재생하기 만하면됩니다. 오디오를 재생하는 좋은 예 를 확인하십시오.

 public void audioPlayer(String path, String fileName){
    //set up MediaPlayer    
    MediaPlayer mp = new MediaPlayer();

    try {
        mp.setDataSource(path + File.separator + fileName);
        mp.prepare();
        mp.start();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

여기에 30 개 이상의 답변이 있으며 일부는 동일하고 일부는 고유합니다. 이 답변은 몇 가지 답변을 기반으로합니다. 그들 중 하나는 @ Lenn Dolling의 대답입니다.

3 개의 ID를 결합하고 32 자리 16 진수 문자열을 만듭니다. 그것은 저를 위해 아주 잘 작동했습니다.

3 ID :
Pseudo-ID - 물리적 장치 사양에 따라 생성됩니다.
ANDROID_ID - Settings.Secure.ANDROID_ID
Bluetooth 주소 - Bluetooth 어댑터 주소

다음과 같이 반환 할 것입니다 : 551F27C060712A72730B0A0F734064B1

참고 : longId문자열에 ID를 더 추가 할 수 있습니다 . 예 : 일련 번호. 와이파이 어댑터 주소. IMEI. 이렇게하면 기기별로 더욱 독특 해집니다.

@SuppressWarnings("deprecation")
@SuppressLint("HardwareIds")
public static String generateDeviceIdentifier(Context context) {

        String pseudoId = "35" +
                Build.BOARD.length() % 10 +
                Build.BRAND.length() % 10 +
                Build.CPU_ABI.length() % 10 +
                Build.DEVICE.length() % 10 +
                Build.DISPLAY.length() % 10 +
                Build.HOST.length() % 10 +
                Build.ID.length() % 10 +
                Build.MANUFACTURER.length() % 10 +
                Build.MODEL.length() % 10 +
                Build.PRODUCT.length() % 10 +
                Build.TAGS.length() % 10 +
                Build.TYPE.length() % 10 +
                Build.USER.length() % 10;

        String androidId = Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);

        BluetoothAdapter bluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
        String btId = "";

        if (bluetoothAdapter != null) {
            btId = bluetoothAdapter.getAddress();
        }

        String longId = pseudoId + androidId + btId;

        try {
            MessageDigest messageDigest = MessageDigest.getInstance("MD5");
            messageDigest.update(longId.getBytes(), 0, longId.length());

            // get md5 bytes
            byte md5Bytes[] = messageDigest.digest();

            // creating a hex string
            String identifier = "";

            for (byte md5Byte : md5Bytes) {
                int b = (0xFF & md5Byte);

                // if it is a single digit, make sure it have 0 in front (proper padding)
                if (b <= 0xF) {
                    identifier += "0";
                }

                // add number to string
                identifier += Integer.toHexString(b);
            }

            // hex string to uppercase
            identifier = identifier.toUpperCase();
            return identifier;
        } catch (Exception e) {
            Log.e("TAG", e.toString());
        }
        return "";
}




android audio android-widget media-player