Bonjour,
Je développe actuellement une application android multilingue ou après avoir sélectionné un élément dans une liste je dois lire une vidéo associé
L'affichage de la liste est en mode portrait uniquement et j'aimerai que la lecture de la vidéo se fasse en mode paysage uniquement
Mon problème est que lorsque je veux passé de l'activité en mode portrait à l'activité en mode paysage, la configuration locale de l'application change et prend la langue défini dans l'appareil au lieu de la langue défini dans l'application
Voici quelques bout de code:
Manifest.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 <?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="playcorp.fitness.light" android:versionCode="1" android:versionName="1.0"> <uses-sdk android:minSdkVersion="4" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"></uses-permission> <uses-permission android:name="android.permission.INTERNET"></uses-permission> <application android:icon="@drawable/icon" android:label="@string/app_name"> <activity android:name=".SplashActivity" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".LangueActivity" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"></activity> <activity android:name=".HomeActivity" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"></activity> <activity android:name=".ProgrammeActivity" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"></activity> <activity android:name=".InfoActivity" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"></activity> <activity android:name=".ProgrammeDetailActivity" android:theme="@android:style/Theme.NoTitleBar" android:screenOrientation="portrait"></activity> <activity android:name=".VideoPlayerActivity" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:screenOrientation="landscape"></activity> <meta-data android:value="fitness_integral" android:name="code_application"></meta-data> </application> </manifest>
Lancement de mon activité Video
layout de mon lecteur vidéo
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public void onClickVideo(Video item, int position) { // TODO Auto-generated method stub Intent intent =new Intent(getApplication().getApplicationContext(), VideoPlayerActivity.class); intent.putExtra("video", item.getId()); startActivity(intent); }
mac classe VideoPlayerActivity
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 <?xml version="1.0" encoding="utf-8"?> <VideoView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/player"> </VideoView>
Donc en gros ma question se résume à Comment lire une vidéo en mode paysage même si nos activités précédentes sont en mode portrait
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30 public class VideoPlayerActivity extends Activity{ @Override protected void onCreate(Bundle savedInstanceState) { Log.i(null, this.getResources().getConfiguration().locale.getDisplayLanguage()); // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.player); VideoView view = (VideoView) findViewById(R.id.player); Bundle b = getIntent().getExtras(); int idVideo = b.getInt("video"); String code_langue = getApplicationContext().getString(R.string.code_langue); Video v = null; try { v = DBVideo.getById(idVideo); } catch (SQLException e) { // TODO Auto-generated catch block e.printStackTrace(); } view.setMediaController(new MediaController(this)); view.setVideoURI(Uri.parse(Utils.mediasVideoLink+"vdo-"+v.getCode()+"-"+code_langue+"-ip3g.mp4")); view.requestFocus(); view.start(); }
Je vous remercie d'avance de l'attention que vous porterez à mon message
Cordialement
julien
Partager