Most of my mp4 movies play fine but when I try watch a mkv or avi file on my iPhone only audio can be heard and no video???
iPhone only supports M4V, MP4 and MOV file formats with H.264 or MPEG-4 codec. AVI is also OK with Motion JPEG (M-JPEG). So MKV is 100% impossible unplayable on your iPhone. The general resolution is to convert MKV/AVI into MP4/MOV/M4V first and then move the video to iPhone. But here I recommend you a free way to transfer MKV and AVI to iPhone without converting in advance. You don't need to pay for the tool. Because it offers enough chances to help play MKV/AVI on iPhone. Check the details: https://www.winxdvd.com/ios-android-mobile/how-to-transfer-mkv-files-to-iphone.htm